MongoDB 查詢如何從陣列中刪除元素?


若要從陣列中刪除元素,可以使用 $pull 運算子。我們建立一個包含文件的集合 −

> db.removeItemFromArray.insertOne(
   { "_id":101, "StudentName":"Larry", "StudentSubjects":["C","MongoDB","Java","MySQL"] } );
{ "acknowledged" : true, "insertedId" : 101 }

使用 find() 方法顯示集合中的所有文件。查詢如下 −

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

這將生成以下輸出 −

{
   "_id" : 101,
   "StudentName" : "Larry",
   "StudentSubjects" : [
      "C",
      "MongoDB",
      "Java",
      "MySQL"
   ]
}

以下是用於從陣列中刪除元素的查詢 −

> db.removeItemFromArray.update(
...    { },
...    { $pull: {StudentSubjects:"Java" } },
...    { multi: true }
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

在上述查詢中,我們刪除了“Java”。現在讓我們顯示集合中的文件 −

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

這將生成以下輸出 −

{
   "_id" : 101,
   "StudentName" : "Larry",
   "StudentSubjects" : [
      "C",
      "MongoDB",
      "MySQL"
   ]
}

更新時間:2019-07-30

209 次觀看

開啟你的 職業生涯

透過完成該課程獲得認證

開始吧
廣告