{
"_id" : ObjectId("5728443e04b2e5b42073a361"),
"user_id" : ObjectId("5728443e04b2e5b42073a35f"),
"main" : {
"data_to_save" : [
{
"user_profile_id" : ObjectId("572844bc04b2e5b42073a362")
"_id" : ObjectId("57284ab183e62da222e1378b"),
"details" : [
{
"amount" : 10000,
"_id" : ObjectId("57284f42e4560b66238a637c"),
"modified" : ISODate("2016-05-03T12:42:02.927Z"),
"created" : ISODate("2016-05-03T12:42:02.927Z")
},
{
"amount" : 4000
"_id" : ObjectId("57284f42e4560b66238a637b"),
"modified" : ISODate("2016-05-03T12:42:02.927Z"),
"created" : ISODate("2016-05-03T12:42:02.927Z")
}
]
}
]
}
"__v" : 0
}
在 mongoDB 的数据库模式中。在这里我想删除特定集合的特定文档。 就像我想删除详细信息集合的第一个文档一样。我有该特定文档的 _id ( 57284f42e4560b66238a637c )。
尝试过
connection.collection.remove( { 'main.data_to_save.0.details.$._id' : id }, function ( err, removed ) {});
最佳答案
您可以使用 $pull 运算符从一组文档中删除一个或多个条目:
// mainDocId = ObjectId("5728443e04b2e5b42073a361")
// id = ObjectId("57284f42e4560b66238a637c")
connection.collection.update(
{ _id: mainDocId},
{ $pull: {'main.data_to_save.0.details' : id } }, function ( err, result ) {
});
关于node.js - 如何使用 mongodb 查询从深度集合中删除文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37001457/