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" ] }
廣告