mongodb增删改查

2018-11-09  本文已影响4人  a0f39b0b2030

show dbs 显示所有的数据库

use psl 切换数据库

db.dropDatabase() 删除数据库

use psl mongodb会自动创建数据库

db.psl_collection.insert({"user":"psl","auth":"passwd"}) #插入josn格式数据到集合并创建数据库

db..psl_collection.find() #使用find来进行数据查询 空默认返回所有文档

db.psl_collection.insert({"user":"lishi","auth":"passwd",_id:1}) #_id可以插入,但全局不能重复

db.psl_collection.find({_id:1}) #查询条件为_id:1的数据行,过滤不符合条件的数据

for(i=3;i<100;i++) db.psl_collection.insert({x:i}) #以json格式插入多条数据

db.psl_collection.find() .count() #统计数据行数

db.psl_collection.find().skip(3) #跳过前面3条数据

db.psl_collection.find().skip(3).limit(5).sort({x:1}) # #跳过前面3条数据,限制只显示5条并按x的值进行排序

db.psl_collection.update({x:3},{x:999}) #查询x:3的数据并将其更新为x:999

db.psl_collection.insert({x:100,y:100,z:100})

db.psl_collection.update({x:100},{y:100}) #操作将会把x:100 z:100的数据覆盖,默认只更新第一条数据

db.psl_collection.update({x:100},{y:100},true) #true查找更新的数据不存在时自动创建

db.psl_collection.update{x:100},{$set {y:100}}) #只将这部份数据覆盖

db.psl_collection.update{x:100},{$set {y:100}},false,true) #true查找并更新多条数据

db.psl_collection.remove({x:100}) #删除数据默认删除查询到的所有数据,参数不允许为空

db.psl_collection.drop() #删除数据表 集合

索引

db.psl_collection.getIndexes() #查询集合内的索引情况

db.psl_collection.ensureIndex({x:1}) #创建索引 x:1 1代表正向排序 -1代表逆向排序

_id 是集合中的默认索引

单键索引 不会自动创建

db.psl_collection.ensureIndex({x:1}) #可以使用x:1的索引进行查询

多键索引 值有多个记录

复合索引 x

db.psl_collection.ensureIndex({x:1,y=2})

过期索引 一定时间后失效数据 如登录数据

db.psl_1.ensureIndex({x:1},{expireAfterSeconds:10}) #expireAfterSecond 单位为秒

db.psl_1.insert({time:new Date()})

过期时间值的类型必须是时间类型,如何指定了一个时间数组以最小的值来计算

过期索引不能是复合索引,删除时间不是精确的,数据量级不大的情况下会在60秒以内

全文索引 物联网开发找捌跃科技

{author:"",title:"",article:""}

db.article.ensureIndex({key:"test"}) #全文索引固定字tese

db.article.ensureIndex({key1:"test"},{key2:"test"}) 

db.article.ensureIndex({"$**":"test"}) #key 不在是具体的值,表示集合中创建一个大的段的集合索引

db.article.find($text:{$search:"aa"}) #mongodb 只会创建一个全文索引 查询含有aa的数据行

db.article.find($text:{$search:"aa bb cc "}) #或查询 查询含有 aa bb cc 的数据行

db.article.find($text:{$search:"aa bb -cc "}) # 查询含有 aa bb 并不包含cc的数据行

db.article.find($text:{$search:"\"aa\" \" bb\" \"cc\" "}) #与查询 查询包含 aa bb cc 的数据行

全文索引相似度查询

db.article.find($text:{$search:"aa bb"},{score:{$meta:"textScore"}}) 

db.article.find($text:{$search:"aa bb"},{score:{$meta:"textScore"}}) .sort(1)

全文索引限制

索引属性:名字 唯一性 稀疏性 是否需要时间限制

名字 name:

db.collection.ensureIndex({},{name:""})

唯一性 unique: 

db.collection.ensureIndex({},{unique:true/false})

稀疏性 所谓稀疏,就是在记录中不存在该索引字段时,不用创建索引,所以节约了磁盘占用;而且插入时由于不用更新索引,所以也加快了插入速度 sparse

db.collection.ensureIndex({},{sparse:true/false})

是否需要时间限制

地理位置索引

转自:http://blog.51cto.com/11074678/2315102

上一篇 下一篇

猜你喜欢

热点阅读