Ich habe dieses Schema für meine db:Azure CosmoDB - MongoDb - C# - Wie erhöht man einen Wert innerhalb eines Arrays von Object?
{
"_id" : "test_schema",
"t" : 5,
"p" : [
{
"id" : "207",
"v" : 4
},
{
"id" : "309",
"v" : 1
}
....
]
}
Ich versuche zu $ inc des v Wert von p.id gleich "207". Ich bin derzeit in der Lage, den t Wert mit diesem Code inc:
var result = collection.UpdateOneAsync(new BsonDocument("_id", "test_schema"}), new BsonDocument("$inc", new BsonDocument("t", 4)), new UpdateOptions() { IsUpsert = true }).Result;
aber whe ich versuche, einen Wert auf Array nichts zu aktualisieren passieren (auch keinen Fehler!):
var result = collection.UpdateOneAsync(new BsonDocument(new Dictionary<string, object>() { { "_id", "test_schema" }, { "p.id", "207" } }), new BsonDocument("$inc", new BsonDocument("p.v", 4)), new UpdateOptions() { IsUpsert = true }).Result;
Nach der MongoDB-Dokumentation bemerkte ich, dass "pv", 4 "p. $. V" sein sollte, aber in cosmodb eine nicht gültige $ -Symbol-Ausnahme auslösen sollte.
Irgendwelche Vorschläge?