MongoDB 条件查询--比较操作

本文详细介绍了MongoDB中用于数据检索的各种查询操作符,包括类型检查、数值比较(如大于、小于、等于等),以及如何进行联合条件查询。通过具体实例展示了如何使用这些操作符来精确地筛选数据库中的记录。

$type操作符

db.user.find({name:{$type:2}}); //查找name数据类型为string的

$gt – greater than >

# 查找年龄大于50的
db.user.find({age:{'$gt':50}});
/* 1 */
{
    "_id" : ObjectId("5b604ac423cc834a5495d780"),
    "name" : "lhc",
    "age" : 78.0
}

/* 2 */
{
    "_id" : ObjectId("5b6068d64b008f4e969ef4ff"),
    "name" : "bbbb",
    "age" : 88.0
}

$gte – gt equal >=

db.user.find({age:{'$gte':88}}); //查找age大于等于88的
/* 1 */
{
    "_id" : ObjectId("5b6068d64b008f4e969ef4ff"),
    "name" : "bbbb",
    "age" : 88.0
}

$lt – less than <

db.user.find({age:{'$lt':50}}); //age小于50的
/* 1 */
{
    "_id" : ObjectId("5b6068c94b008f4e969ef4fd"),
    "name" : "jay",
    "age" : 20.0
}

/* 2 */
{
    "_id" : ObjectId("5b6068cf4b008f4e969ef4fe"),
    "name" : "aaa",
    "age" : 10.0
}

/* 3 */
{
    "_id" : ObjectId("5b6068de4b008f4e969ef500"),
    "name" : "weeee",
    "age" : 0.0
}

/* 4 */
{
    "_id" : ObjectId("5b6068e54b008f4e969ef501"),
    "name" : "weeee",
    "age" : 30.0
}

lte – lt equal <=

db.user.find({age:{'$lte':20}}); //age小于等于20
/* 1 */
{
    "_id" : ObjectId("5b6068c94b008f4e969ef4fd"),
    "name" : "jay",
    "age" : 20.0
}

/* 2 */
{
    "_id" : ObjectId("5b6068cf4b008f4e969ef4fe"),
    "name" : "aaa",
    "age" : 10.0
}

/* 3 */
{
    "_id" : ObjectId("5b6068de4b008f4e969ef500"),
    "name" : "weeee",
    "age" : 0.0
}

$ne – not equal !=

```
db.user.find({age:{'$ne':10}}); //age != 10
/* 1 */
{
    "_id" : ObjectId("5b604ac423cc834a5495d780"),
    "name" : "lhc",
    "age" : 78.0
}

/* 2 */
{
    "_id" : ObjectId("5b6068c94b008f4e969ef4fd"),
    "name" : "jay",
    "age" : 20.0
}

/* 3 */
{
    "_id" : ObjectId("5b6068d64b008f4e969ef4ff"),
    "name" : "bbbb",
    "age" : 88.0
}

/* 4 */
{
    "_id" : ObjectId("5b6068de4b008f4e969ef500"),
    "name" : "weeee",
    "age" : 0.0
}

/* 5 */
{
    "_id" : ObjectId("5b6068e54b008f4e969ef501"),
    "name" : "weeee",
    "age" : 30.0
}

$eq – equal =

db.user.find({age:{'$eq':10}}); //age =10
/* 1 */
{
    "_id" : ObjectId("5b6068cf4b008f4e969ef4fe"),
    "name" : "aaa",
    "age" : 10.0
}

联合查询

db.user.find({age:{'$lte':70,'$gte':10}}); // age >=10 and age <=70
/* 1 */
{
    "_id" : ObjectId("5b6068c94b008f4e969ef4fd"),
    "name" : "jay",
    "age" : 20.0
}

/* 2 */
{
    "_id" : ObjectId("5b6068cf4b008f4e969ef4fe"),
    "name" : "aaa",
    "age" : 10.0
}

/* 3 */
{
    "_id" : ObjectId("5b6068e54b008f4e969ef501"),
    "name" : "weeee",
    "age" : 30.0
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CopyProfessor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值