我正在学习MongoDB,我注意到每当我对文档进行更新时,正在更新的字段被推送到订单的末尾,所以如果我有类似的东西:
db.collection.save({field1: value1, field2: value2, ..., field 10: value10});
db.collection.update({field1: value1}, {$set: {field2: new_value}});
Run Code Online (Sandbox Code Playgroud)
如果你这样做:
db.collection.find();
Run Code Online (Sandbox Code Playgroud)
它会显示:
{ "field1":"value1", ..., "field10":"value10", "field2":"new_value"}
Run Code Online (Sandbox Code Playgroud)
您可以看到字段顺序如何更改将更新字段推送到文档末尾的位置.此外,文档本身也被推到了collectoin的末尾.我知道它是一个"无架构"的数据库,它可能不是一个大问题,但它看起来并不"漂亮":).有没有办法在不更改订单的情况下进行就地更新?
mongodb ×1