美文网首页
mongodb增删改查

mongodb增删改查

作者: a0f39b0b2030 | 来源:发表于2018-11-09 17:27 被阅读4次

    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

    相关文章

      网友评论

          本文标题:mongodb增删改查

          本文链接:https://www.haomeiwen.com/subject/nhioxqtx.html