Ví dụ của bạn hoạt động tốt:
db.so.drop();
db.so.insert(
{
"_id" : ObjectId("51ee899ec15d5aaff39d3353"),
"first" : "first",
"last" : "last",
"email" : "email",
"phone" : "555 555 5555",
"userRole" : "su",
"cards" : [
{
"rfid_id" : ObjectId("51ee899ec15d5aaff39d3359")
}
],
"zones" : [
{
"zone_id" : ObjectId("51ee899ec15d5aaff39d3357")
}
]
});
db.so.update({}, {$pull:{ "cards": {"rfid_id": ObjectId("51ee899ec15d5aaff39d3359")}}}, false, false)
db.so.find().pretty();
Kết quả đầu ra:
{
"_id" : ObjectId("51ee899ec15d5aaff39d3353"),
"cards" : [ ],
"email" : "email",
"first" : "first",
"last" : "last",
"phone" : "555 555 5555",
"userRole" : "su",
"zones" : [
{
"zone_id" : ObjectId("51ee899ec15d5aaff39d3357")
}
]
}
Mặc dù tôi đã phải thay đổi ObjectID cho phần kéo một chút, vì ban đầu nó sử dụng một chuỗi khác giữa các phiên bản đơn giản và đầy đủ của tài liệu.