使用$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 ] }