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.