匹配欄位值大於特定數字的 MongoDB 文件並獲取它們?


若要匹配,在 MongoDB 中使用 $match。對於大於特定數字的值,使用 $gt。我們建立一個包含文件的集合 −

> db.demo730.insertOne({"Name" : "Chris", "Marks" : 33 });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eac54cd56e85a39df5f6339")
}
> db.demo730.insertOne({ "Name" : "David", "Marks" : 89});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eac54cd56e85a39df5f633a")
}
> db.demo730.insertOne({ "Name" : "Chris", "Marks" : 45 });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eac54ce56e85a39df5f633b")
}

使用 find() 方法從集合中顯示所有文件 −

> db.demo730.find();

這將生成以下輸出 −

{ "_id" : ObjectId("5eac54cd56e85a39df5f6339"), "Name" : "Chris", "Marks" : 33 }
{ "_id" : ObjectId("5eac54cd56e85a39df5f633a"), "Name" : "David", "Marks" : 89 }
{ "_id" : ObjectId("5eac54ce56e85a39df5f633b"), "Name" : "Chris", "Marks" : 45 }

以下是匹配欄位值大於特定數字並獲取它們的 MongoDB 文件的查詢 −

> db.demo730.aggregate([
...    { $sort: { _id: -1 } },
...    { $limit: 3 },
...    {$match: { $or: [ {"Name": "Chris", "Marks": { "$gt": 40 }}, {"Name": "David"} ]}}
... ])

這將生成以下輸出 −

{ "_id" : ObjectId("5eac54ce56e85a39df5f633b"), "Name" : "Chris", "Marks" : 45 }
{ "_id" : ObjectId("5eac54cd56e85a39df5f633a"), "Name" : "David", "Marks" : 89 }

更新於: 15-5-2020

438 次檢視

開啟你的職業生涯

完成課程,獲得認證

開始學習
廣告