如何在 MongoDB 中比較陣列中的欄位來查詢文件?


若要比較陣列中的欄位,請使用 $gt 和 $lt。我們建立一個包含文件的集合 −

> db.demo147.insertOne({"Details":[{"Score":45},{"Score":46}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32fa21fdf09dd6d08539be")
}
> db.demo147.insertOne({"Details":[{"Score":65},{"Score":86}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32fa40fdf09dd6d08539bf")
}

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

> db.demo147.find().pretty();

這將生成以下輸出 −

{
   "_id" : ObjectId("5e32fa21fdf09dd6d08539be"),
   "Details" : [
      {
         "Score" : 45
      },
      {
         "Score" : 46
      }
   ]
}
{
   "_id" : ObjectId("5e32fa40fdf09dd6d08539bf"),
   "Details" : [
      {
         "Score" : 65
      },
      {
         "Score" : 86
      }
   ]
}

以下是如何在 MongoDB 中比較陣列中的欄位來查詢文件 −

> db.demo147.find({ 'Details.Score': { $gt: 45, $lt: 50 }});

這將生成以下輸出 −

{ "_id" : ObjectId("5e32fa21fdf09dd6d08539be"), "Details" : [ { "Score" : 45 }, { "Score" : 46 } ] }

更新於: 2020-03-31

324 次瀏覽

開啟你的 職業之路

完成課程獲得認證

開始
廣告