Aşağıdaki gibi bir alt diziden verileri kaldırmaya çalışıyorum ancak zorluklarım var.İç içe geçmiş diziden, alt kimliğe göre "nModified": 0
{
"_id" : "0",
"mainArray" : [
{
"price" : 12,
"informations" : [
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 1
},
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 2
}
]
},{
"price" : 45,
"informations" : [
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 5
},
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 6
}
]
}
Ben çıkış olmak istiyorum:
{
"_id" : "0",
"mainArray" : [
{
"price" : 12,
"informations" : [
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 1
},
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 2
}
]
},{
"price" : 45,
"informations" : [
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 5
}
]
}
Bu denedim:
db.collection.update({ "_id": "0" }, { $pull: { 'mainArray.informations': { "orderId": 6 } } });
ve
db.collection.update({ "_id": "0" }, { $pull: { 'mainArray.0.informations': { "orderId": 6 } } });
Ama her ikisi de işe yaramaz, aldığım en iyisi:
WriteResult ({ "nMatched": "nUpserted" 1: 0, "nModified": 0})
gören var nereye ben yanlış gidiyorum?
Test ikinci kodları 'db.coll.update ({_ id: '0'}, {$ çekme: { 'mainArray.0.informations': { 'sipariş numarası': 6}}})' ve sonucu 'WriteResult ({" nMatched ": 1," nUpserted ": 0," nModified ": 1})' mogno v3.2.3 altında – zangw
WriteResult ({"nMatched": 1, "nUpserted") almaya devam ediyorum: 0, "nodified": 0}) anlamıyorum – jayD