MongoDB查询以使用多个条件(范围)在数组中查找值
要在某个范围内的数组中查找值,请使用$gt和$lt。让我们创建一个包含文档的集合-
> db.demo341.insertOne({
... "Name": "Chris",
... "productDetails" : [
... {
... "ProductPrice" : {
... "Price" : 800
... }
... },
... {
... "ProductPrice" : {
... "Price" : 400
... }
... },
... {
... "ProductPrice" : {
... "Price" : 300
... }
... }
... ]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e53ed5cf8647eb59e5620a7")
}
> db.demo341.insertOne({
... "Name": "Chris",
... "productDetails" : [
... {
... "ProductPrice" : {
... "Price" : 1000
... }
... },
... {
... "ProductPrice" : {
... "Price" : 1200
... }
... },
... {
... "ProductPrice" : {
... "Price" : 1300
... }
... }
... ]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e53edc1f8647eb59e5620a8")
}在find()方法的帮助下显示集合中的所有文档-
> db.demo341.find();
这将产生以下输出-
{
"_id" : ObjectId("5e53ed5cf8647eb59e5620a7"), "Name" : "Chris", "productDetails" : [
{ "ProductPrice" : { "Price" : 800 } }, { "ProductPrice" : { "Price" : 400 } },
{ "ProductPrice" : { "Price" : 300 } }
]
}
{
"_id" : ObjectId("5e53edc1f8647eb59e5620a8"), "Name" : "Chris", "productDetails" : [
{ "ProductPrice" : { "Price" : 1000 } }, { "ProductPrice" : { "Price" : 1200 } },
{ "ProductPrice" : { "Price" : 1300 } }
]
}以下是在具有多个条件的数组中查找值的查询-
> db.demo341.aggregate([
... { "$match": {
... "productDetails": {
... "$elemMatch": {
... "ProductPrice.Price": {
... "$gt": 600,
... "$lt": 900
... }
... }
... }
... }}
... ]).pretty();这将产生以下输出-
{
"_id" : ObjectId("5e53ed5cf8647eb59e5620a7"),
"Name" : "Chris",
"productDetails" : [
{
"ProductPrice" : {
"Price" : 800
}
},
{
"ProductPrice" : {
"Price" : 400
}
},
{
"ProductPrice" : {
"Price" : 300
}
}
]
}热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短