数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据库技术得到了更加快速的发展,应用得更加广泛。主要用它进行管理各种系统的数据,作为科学研究和决策的重要技术手段。
关系型数据库(sql):Access mySql SqlServer oracle db2等。
数据库>表>行
非关系型数据库( NoSql ): MongoDB,Redis,HBase,CouchDB等。
数据库>集合>文档
文档型数据这个名字中,“文档”两个字很容易误解。其实这个文档就是 bson 。bson 是 json 的超集,比如 json中没法储存二进制类型,而 bson 拓展了类型,提供了二进制支持。mongodb 中存储的一条条记录都可以用 bson来表示。所以你也可以认为,mongodb 是个存 bson 数据的数据库。
NoSQL简介
NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
save()和insert()也存在着些许区别:若新增的数据主键已经存在,insert()会不做操作并提示错误,而save() 则更改原来的内容为新内容
_id是主键,主键是每条数据的唯一标识,不能重复,就像身份证是每个人唯一的编号一样。
存在数据:{ _id : ObjectId("57e8d34b4764fb71d0a89caa"), " name " : " 老李"} ,_id是主键
db.webs.insert({ _id : ObjectId("57e8d34b4764fb71d0a89caa"), " name " : " 老王 " }) 会提示错误
db.webs.save(ObjectId("57e8d34b4764fb71d0a89caa"), " name " : " 老王 " }) 会把 “老李” 改为 “ 老王” ,有update的作用
db.webs.find({ "key" : { $gt: value1 , $lt: value2 } }) 查找value1 < key <value2的数据
db.webs.find({ "key" : { $ne: value } }) 查找key不等于 value的数据
db.webs.find({key:{$mod:[10,1]}}) 查找key的value模除10余数为1的数据
db.webs.find({key:{$in:[1,2,3]}}) 查找key的value等于1,2,3的数据
db.webs.find({key:{$nin:[1,2,3]}}) 查找key的value不等于1,2,3的数据
db.webs.find({key:{$size3}}) 查找key的value的数量个数为3的数据(值必须是数组)
db.webs.find({key:{$exists:true|false}}) 查找key字段存在的数据,true:存在,false:不存在
db.webs.find({$or:[{key1:value1},{key2:value2}]}) 查找符合两个条件之一的所有数据
db.webs.find({"key.subkey":value}) 查找key字段中属性为subkey的值为value的数据,内嵌对象中的值匹配
db.webs.find().sort({key:-1,key2:1}) 1表示升序,-1表示降序
db.collection.find().limit(5) 控制返回结果数量,如果参数是0,则没有约束,limit()将不起作用
db.collection.find().skip(5) 控制返回结果跳过多少数量,如果参数是0,则当作没有约束,skip()将不起作用,或者说跳过了0条
db.collection.find().skip(5).limit(5) 可用来做分页,跳过5条数据再取5条数据
db.collection.find().count() count()返回结果集的条数
db.collection.find().skip(5).limit(5).count(true) 在加入skip()和limit()这两个操作时,要获得实际返回的结果数,需要一个参数true,否则返回的是符合查询条件的结果总数
db.collection.find({"name":/ab/}) 模糊查询:
第一个参数是查找条件,第二个参数是修改内容,主键不能修改,第三个参数表示匹配所有符合条件的数据,第四个参数表示修改所有匹配到的数据
原文:https://www.cnblogs.com/hjw123/p/11676495.html