Я хочу удалить одно поле из каждого документа, используя драйвер MongoDB для C #.
У меня есть такие документы:
{
"_id": ObjectId("554e05dfc90d3d4dfcaa2aea"),
"username": "abc",
"someArray": [
{
"_id": ObjectId("554e0625a51586362c33c6df"),
"IsReadOnly": false
},
{
"_id": ObjectId("554e0625a51586362c33c6df"),
"IsReadOnly": true
}
]
}
Я хочу удалить поле "IsReadOnly" из "someArray ", независимо от того, является ли значение истинным или ложным.
В MongoDB я могу достичь этого с помощью следующего скрипта:
db.getCollection('Collection').find({}).forEach( function(doc) {
var arr = doc.someArray;
var length = arr.length;
for (var i = 0; i < length; i++) {
delete arr[i]["IsReadOnly"];
}
db.getCollection('Collection').save(doc);
});
В C # я попробовал следующее:
var update= Update.Pull("someArray",BsonValue.Create("IsReadOnly"));
// or: var update = Update.Unset("someArray.$[].IsReadOnly");
myDb.Collection.Update(null, update, UpdateFlags.Multi);
Но «IsReadOnly» не былудален.Как я могу удалить это поле из каждого массива и каждого документа?