從集合中提取陣列元素的 MongoDB 查詢?
使用 $pull 運算子從集合中提取陣列元素。我們首先使用文件建立一個集合 −
> db.pullElementFromAnArrayDemo.insertOne( ... { ... "StudentScores":[89,56,78,90] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5cd0104a588d4a6447b2e063") }
以下是使用 find() 方法顯示集合中所有文件的查詢 −
> db.pullElementFromAnArrayDemo.find();
這將產生以下輸出 −
{ "_id" : ObjectId("5cd0104a588d4a6447b2e063"), "StudentScores" : [ 89, 56, 78, 90 ] }
以下是從集合中提取陣列元素的查詢。此處,我們正在刪除元素 78 −
> db.pullElementFromAnArrayDemo.update({},{ $pull: { StudentScores: 78 } }); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
讓我們再次檢查文件 −
> db.pullElementFromAnArrayDemo.find();
這將產生以下輸出 −
{ "_id" : ObjectId("5cd0104a588d4a6447b2e063"), "StudentScores" : [ 89, 56, 90 ] }
廣告