要从ObjectID数组中提取值,请在MongoDB中使用$pull。让我们创建一个包含文档的集合-
> db.demo258.insertOne({"arrayOfObjectsId":[ ObjectId("5e47a5e81627c0c63e7dba92"),ObjectId("5e47a5e51627c0c63e7dba91")]}); { "acknowledged" : true, "insertedId" : ObjectId("5e47a8211627c0c63e7dba97") }
在find()
方法的帮助下显示集合中的所有文档-
> db.demo258.find();
这将产生以下输出-
{ "_id" : ObjectId("5e47a8211627c0c63e7dba97"), "arrayOfObjectsId" : [ ObjectId("5e47a5e81627c0c63e7dba92"), ObjectId("5e47a5e51627c0c63e7dba91") ] }
以下是从ObjectID数组中提取值的查询-
> db.demo258.update( { }, { $pull: { arrayOfObjectsId: { $in: [ ObjectId("5e47a5e81627c0c63e7dba92") ] } } } ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
在find()
方法的帮助下显示集合中的所有文档-
> db.demo258.find();
这将产生以下输出-
{ "_id" : ObjectId("5e47a8211627c0c63e7dba97"), "arrayOfObjectsId" : [ ObjectId("5e47a5e51627c0c63e7dba91") ] }