我的数据库有许多文档,其字段顺序大多是随机的,如 Mongo Compass 中显示的那样。第一个字段始终是 _id,但其余字段可以按任何顺序排列。这使得用肉眼扫描记录变得非常困难。 我读到 Mongo 4.2 不再发生这种由于更新插入而导致的重新排序,并且我已经升级了 - 但问题仍然存在。 有没有办法对我的字段重新排序,以便集合中的每个文档都具有相同的字段顺序 - 首先说 -id,然后是 a-z?
最佳答案
您可以使用 $replaceWith 来执行此操作。 https://mongoplayground.net/p/VBzpabZuJpy
db.YOURCOLLECTION.updateMany({}, [
{$replaceWith: {
$mergeObjects: [
{
"fieldA": "$fieldA",
"fieldB": "$fieldB",
"fieldC": "$fieldC",
"fieldD": "$fieldD",
"fieldE": "$fieldE"
},
"$$ROOT"
]
}}
])
关于MongoDB:如何重新排序过去困惑的文档字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63138188/