我正在尝试向我的 mongodb 集合添加默认排序规则。使用排序规则创建新集合很简单:
db.createCollection(name, {collation:{locale:"en",strength:1}})
不幸的是,我浏览了文档并没有看到任何 db.updateCollection
函数。我应该如何在不破坏和重新创建新集合中的所有文档的情况下添加排序规则?
最佳答案
还有另一个选项可以满足我的生产需求:在集合上执行 mongodump
mongodump --host hostname --port 32017 --username usr --password pwd --out c:\backup --db my_database --collection my_collection
这将生成两个文件,其中一个名为 my_collection.metadata.json
。打开这个文件,根据MongoDB docs修改options
属性.
{
"options": {
"collation": {
"locale": "en",
"strength": 1
}
}
...
}
然后使用 mongorestore
mongorestore --host hostname --port 32017 --username usr --password pwd --db contactstore c:\backup\my_database --drop
从那时起,您创建的任何索引都将默认使用该特定排序规则。不幸的是,这需要一个停机时间窗口,因此请确保获得一个。
关于mongodb - 将默认排序规则添加到现有的 mongodb 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44682160/