使用 MongoDB 的列表中查詢值(不是物件)


若要查詢列表中的值,請在 MongoDB 中使用位置運算子 ($)。讓我們建立帶有以下文件的集合:

> db.demo628.insertOne({id:1,Name:["Chris","David","John"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ae7ea6c954c74be91e6b6")
}
> db.demo628.insertOne({id:1,Name:["Carol","Sam"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ae7f26c954c74be91e6b7")
}
> db.demo628.insertOne({id:2,Name:["Mike","Sam","John"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ae8056c954c74be91e6b8")
}

藉助 find() 方法從集合中顯示所有文件:

> db.demo628.find();

這將產生以下輸出:

{ "_id" : ObjectId("5e9ae7ea6c954c74be91e6b6"), "id" : 1, "Name" : [ "Chris", "David", "John" ] }
{ "_id" : ObjectId("5e9ae7f26c954c74be91e6b7"), "id" : 1, "Name" : [ "Carol", "Sam" ] }
{ "_id" : ObjectId("5e9ae8056c954c74be91e6b8"), "id" : 2, "Name" : [ "Mike", "Sam", "John" ] }

查詢列表中的值(而不是物件):

> db.demo628.find({"Name":"John"}, {"id":1, "Name.$":1});

這將產生以下輸出:

{ "_id" : ObjectId("5e9ae7ea6c954c74be91e6b6"), "id" : 1, "Name" : [ "John" ] }
{ "_id" : ObjectId("5e9ae8056c954c74be91e6b8"), "id" : 2, "Name" : [ "John" ] }

更新於:2020 年 5 月 12 日

95 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告