如何在 MongoDB 中从嵌入式列表中获取大于特定值的值?


要获取大于特定值的值,请结合 find() 使用 $gt。让我们创建一个包含文档的集合 −

> db.demo317.insertOne(
...    {'id':101,
...       'details':[{'Score':78,Name:"Chris"},
...          {'Score':88,Name:"David"}
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e50e69cf8647eb59e562060")
}
> db.demo317.insertOne(
...    {'id':102,
...    'details':[{'Score':90,Name:"Chris"},
...       {'Score':91,Name:"David"}
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e50e6adf8647eb59e562061")
}

在集合中使用 find() 方法显示所有文档 −

> db.demo317.find();

这将产生以下输出 −

{ "_id" : ObjectId("5e50e69cf8647eb59e562060"), "id" : 101, "details" : [ { "Score" : 78, "Name" : "Chris" }, { "Score" : 88, "Name" : "David" } ] }
{ "_id" : ObjectId("5e50e6adf8647eb59e562061"), "id" : 102, "details" : [ { "Score" : 90, "Name" : "Chris" }, { "Score" : 91, "Name" : "David" } ] }

以下是查询以在 MongoDB 中对嵌入式列表使用 $gt 以获取大于 89 的分数记录 −

> db.demo317.find({"details.Score" :{"$gt": 89}});

这将产生以下输出 −

{ "_id" : ObjectId("5e50e6adf8647eb59e562061"), "id" : 102, "details" : [ { "Score" : 90, "Name" : "Chris" }, { "Score" : 91, "Name" : "David" } ] }

更新于: 2020 年 4 月 2 日

267 次浏览

启动您的 职业

完成课程获得认证

开始
广告