MongoDB 逻辑操作符与字段操作符

包含与不包含:in、nin

> db.accounts.find({"name":{$in:["alice2"]}}).pretty()
{ "_id" : "account1", "name" : "alice2", "balance" : 100 }
{
 "_id" : ObjectId("5d7f43abaecbd2bc0fa821b7"),
 "name" : "alice2",
 "balance" : 100
}

逻辑操作符:not、and、or、nor

not操作:获取余额不大于120的账号列表

> db.accounts.find({"balance":{$not:{$gt:120}}}).pretty()
{ "_id" : "account1", "name" : "alice2", "balance" : 100 }
{
 "_id" : ObjectId("5d7f43abaecbd2bc0fa821b7"),
 "name" : "alice2",
 "balance" : 100
}

and操作:获取name为alice2,且balance小于120的记录

> db.accounts.find({$and: [ { "name":"alice2" }, { "balance":{$lt:200} } ] } );
{ "_id" : "account1", "name" : "alice2", "balance" : 100 }
{ "_id" : ObjectId("5d7f43abaecbd2bc0fa821b7"), "name" : "alice2", "balance" : 100 }
# 上述查询语句,可以简写为
> db.accounts.find({ "name":"alice2", "balance":{$lt:200} });
# 当筛选条件,应用在同一个字段上的时候,也可以做简化
> db.accounts.find({"balance":{$lt:120,$gt:80} });
{ "_id" : "account1", "name" : "alice2", "balance" : 100 }
{ "_id" : ObjectId("5d7f43abaecbd2bc0fa821b7"), "name" : "alice2", "balance" : 100 }

字段操作符

exists 查询存在某个字段的记录

> db.accounts.find({"_id.name":{$exists:true}});
{ "_id" : { "name" : "david", "balance" : 200 }, "name" : "charlie", "balance" : 500 }
{ "_id" : { "balance" : 200, "name" : "david" }, "name" : "charlie", "balance" : 500 }

type 针对字段类型进行查询

> db.accounts.find({"_id":{$type:['string','objectId','object','null']}});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值