mong常用命令

$addToSet->过滤避免重复

var query =[
    {
      userName:'Bob',
      say:  "Hi"
    },
    {
      userName:'Bob',
      say:  "Hi"
    },
    {
      userName:'Bob',
      say:  "Hi"
    },
    {
      userName:'Bob',
      say:  "Hello"
    },
]
db.test.update({name:'name18'},{'$addToSet':{'comments':{'$each':query}}})

$pop ->删除数组中中一项

  1. 删除第一项
 db.test.update({name:'name19'},{$pop:{comments:-1}})

$pull ->删除指定内容的数据

db.test.update({name:'name19'},{$pull:{comments:{say:'Hello'}}})

下表操作符

db.test.update({name:'name19'},{$set:{'comments.0.say':'6666'}})
//'comments.0.say'一定要引号 

db.test.update({'comments.userName':'Bob'},{$set:{'comments.$.userName':'Robot'}})
//$匹配全部占位符 匹配全部数据

查询

db.test.find({age:{$lte:40,$gt:20}})

upsert

  1. 直接使用 db.test.update({name:18},{$set:{age:18}}) 如果没有这个文档
  2. db.test.update({name:18},{$set:{age:18}},true) 只对一个起作用
  3. db.test.update({name:18},{$set:{age:18}},false,true)批量更新没有话 批量插入

过滤查询

1.$in

 db.test.find({age:{$in:[20,30]}}).pretty()
{
   "_id" : ObjectId("5bf2bd8fc5d9ca79c22070cb"),
   "name" : "name20",
   "age" : 20,
   "date" : 1542634895697
}
{
   "_id" : ObjectId("5bf2bd8fc5d9ca79c22070d5"),
   "name" : "name30",
   "age" : 30,
   "date" : 1542634895697
}
  1. $nin
 db.test.find({age:{$nin:[20,30]}}).pretty()

  1. $or
 db.test.find({$or:[{age:20},{name:'liuzhenxing'}]}).pretty()
 {
   "_id" : ObjectId("5bf2bd8fc5d9ca79c22070c9"),
   "name" : "liuzhenxing",
   "age" : 18,
   "date" : 1542634895697
 }
 {
   "_id" : ObjectId("5bf2bd8fc5d9ca79c22070cb"),
   "name" : "name20",
   "age" : 20,
   "date" : 1542634895697
 }
 

4.$and

db.test.find({$and:[{name:'liuzhenxing'},{age:18}]}).pretty()
{
   "_id" : ObjectId("5bf2bd8fc5d9ca79c22070c9"),
   "name" : "liuzhenxing",
   "age" : 18,
   "date" : 1542634895697
}

db.test.find({age:{$not:{$in:[2,30]}}})
{ "_id" : ObjectId("5bf2bd8fc5d9ca79c22070b7"), "name" : "name0", "age" : 0, "date" : 1542634895697 }
{ "_id" : ObjectId("5bf2bd8fc5d9ca79c22070b8"), "name" : "name1", "age" : 1, "date" : 1542634895697 }
{ "_id" : ObjectId("5bf2bd8fc5d9ca79c22070ba"), "name" : "name3", "age" : 3, "date" : 1542634895697 }
{ "_id" : ObjectId("5bf2bd8fc5d9ca79c22070bb"), "name" : "name4", "age" : 4, "date" : 1542634895697 }

5.$all
在这里插入图片描述

6.$size $slice
在这里插入图片描述

7.$eleMatch 匹配数组不配值
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值