MongoDB 在填充欄位中擷取陣列?


若要擷取陣列,請在 MongoDB 中使用 $ 擷取運算子。讓我們建立一個帶有文件的集合 −

> db.demo503.insertOne({_id:1,Name:"John",Subject:["MySQL","Java","C"]});
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo503.insertOne({_id:2,Name:"David",Subject:["MongoDB","C++","Python"]});
{ "acknowledged" : true, "insertedId" : 2 }

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

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

這將生成以下輸出 −

{ "_id" : 1, "Name" : "John", "Subject" : [ "MySQL", "Java", "C" ] }
{
   "_id" : 2,
   "Name" : "David",
   "Subject" : [
      "MongoDB",
      "C++",
      "Python"
   ]
}

以下是擷取填充欄位中陣列的查詢 −

> db.demo503.find({_id:2}, { 'Subject': { $slice: -1 }});

這將生成以下輸出 −

{ "_id" : 2, "Name" : "David", "Subject" : [ "Python" ] }

更新於:13-5-2020

189 瀏覽次數

開啟您的 職業生涯

完成課程獲得認證

開始
廣告