MongoDB 查询以匹配数组值大于特定值的文件


你可以使用 $elemMatch。$elemMatch 运算符匹配包含数组字段的文件,其中至少有一个元素与所有指定的查询条件匹配。

我们创建一个带有文件的集合 −

> db.demo701.insertOne({"ListOfValues":[100,200,300]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6e8cf551299a9f98c93b0")
}
> db.demo701.insertOne({"ListOfValues":[500,700,1000]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6e8d8551299a9f98c93b1")
}
> db.demo701.insertOne({"ListOfValues":[300,350,450]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6e8e1551299a9f98c93b2")
}

在使用 find() 方法的帮助下从集合显示所有文件 −

> db.demo701.find();

这将产生以下输出 −

{ "_id" : ObjectId("5ea6e8cf551299a9f98c93b0"), "ListOfValues" : [ 100, 200, 300 ] }
{ "_id" : ObjectId("5ea6e8d8551299a9f98c93b1"), "ListOfValues" : [ 500, 700, 1000 ] }
{ "_id" : ObjectId("5ea6e8e1551299a9f98c93b2"), "ListOfValues" : [ 300, 350, 450 ] }

以下是匹配数组值大于特定值的查询 −

> db.demo701.find({"ListOfValues":{$elemMatch:{$gt:500}}});

这将产生以下输出 −

{ "_id" : ObjectId("5ea6e8d8551299a9f98c93b1"), "ListOfValues" : [ 500, 700, 1000 ] }

更新时间:14-05-2020

778 次浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.