Это объект:
{ "_id" : "c12345",
"arr" : [
{
"i" : 270099850,
"a" : 772,
},
{
"i" : 286855630,
"a" : 622,
}
] }
Это утверждение, которое добавляет еще один элемент к "arr":
db.testc.update({"_id" : "c12345"},{$pushAll:{"f":[{"i":123,"a":456456}]}, {"safe":false,"upsert" : true}}
ОСНОВНОЕ ТРЕБОВАНИЕ:
Я хочу одно утверждение вроде:
db.testc.update({"_id" : "c12345"},{$pushAll:{"f":[{"i":123,"a":456456}]},
$set:{"n":"this.f.lenth" }, {"safe":false,"upsert":true})
Который добавит или изменит ключ "n" и поставит целое число в качестве значения, равного длине обр.
Я хочу сделать это в том же заявлении, то есть без поиска.
В идеале оператор должен обновлять его до конечной длины "arr" (или даже начальный будет работать, если добавить к нему 1)