Есть ли возможность определить пользовательский журнал доступа во вложенных?

В случае документов, если размер поля изменяется, он выписывает новый документ с полями, отсортированными по имени поля. Это поведение можно увидеть со следующими утверждениями

Случай 1: Изменение размера поля не изменяется, поэтому изменение порядка поля

> db.testcol.find()
> db.testcol.save({a:1,c:3,b:2})
> db.testcol.find()
{ "_id" : ObjectId("4d5efc3bec5855af36834f5a"), "a" : 1, "c" : 3, "b" : 2 }
> db.testcol.update({a:1},{$set:{c:22}})
> db.testcol.find()
{ "_id" : ObjectId("4d5efc3bec5855af36834f5a"), "a" : 1, "c" : 22, "b" : 2 }

Случай 2: изменения размера поля и поля перерисовываются

> db.testcol.find()
> db.testcol.save({a:1,c:"foo",b:2,d:4})
> db.testcol.find()
{ "_id" : ObjectId("4d5efdceec5855af36834f5e"), "a" : 1, "c" : "foo", "b" : 2, "d" : 4 }
> db.testcol.update({a:1},{$set:{c:"foobar"}})
> db.testcol.find()
{ "_id" : ObjectId("4d5efdceec5855af36834f5e"), "a" : 1, "b" : 2, "c" : "foobar", "d" : 4 }

Есть ли конкретная причина, по которой вы не хотите, чтобы поля были переупорядочены? Выше было использование 1.8.0_rc0 на OS X

0
задан Obivan 18 January 2019 в 10:18
поделиться