我正在使用 C# 驅動程式 2.14 使用 MongoDB 開發一個 .NET 應用程式。我的查詢如下:
我有一個嵌入式陣列元素,例如:
{
"_id" : 1,
"Friends" : [
{
"_id" : 2,
"FirstName" : "Bob",
"LastName":"Marley",
"Gender":"Male",
...
},
{
"_id" : 3,
"Name" : "Jonson",
"LastName":"Charles",
"Gender":"Male",
...
},
{
"_id" : 4,
"Name" : "Bob",
"LastName":"",
"Gender":"Male",
...
}
]
}
其中有多個欄位。我需要更新其中一個嵌套檔案中的所有值。
我撰寫了如下代碼:
var filter1 = Builders<BsonDocument>.Filter.Eq("_id", 1);
var filter2 = Builders<BsonDocument>.Filter.ElemMatch<BsonValue>("Friends", new BsonDocument(){ {"_id", 2 }});
var update = Builders<BsonDocument>.Update.Set("Friends.$[-1]", BsonDocument.Parse(JsonConvert.SerializeObject(object)));
await collection.UpdateAsync(filter1&filter2, update);
我得到的例外是:
未找到識別符號“-1”的陣列過濾器
誰能建議這是否是正確的方法?
uj5u.com熱心網友回復:
這是 MongoDB 中的無效語法/陳述句
"Friends.$[-1]"
您需要

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/414094.html
標籤:
上一篇:使用serilog保存日志記錄
