согласно документации mongoDB о $ addToSet operator:
$ addToSet только гарантирует, что в набор не добавляются повторяющиеся элементы, и не влияет на существующие повторяющиеся элементы. $ addToSet не гарантирует определенного порядка элементов в модифицированном наборе.
, поэтому моя проблема:
У меня есть поле массива, которое содержит объектов .
foo = [ {a:1, b:2}, {a:3, b:2}]
поэтому, когда я пытаюсь поместить в него sh объекты, поведение не работает должным образом:
db.myCollection.updateOne({"some_id"}, {$addToSet:{foo:{a:1, b:2}}})
результат будет:
foo = [ {a:1, b:2}, {a:3, b:2}, {a:1, b:2}]
проверка на повторяющиеся объекты не работает. почему?