作者:_Rongrise | 来源:互联网 | 2022-12-27 15:47
您如何修改创建时在集合上设置的选项?以及我们如何查看已经设置的选项?
例如,如果我们看到排序规则选项,我将创建一个这样的集合:
db.createCollection("words", {collation : {locale :"es", strength : 2}});
并添加一些文件:
db.words.insertOne({text : "Résumé"});
db.words.insertOne({text : "Resume"});
db.words.insertOne({text : "résumé"});
db.words.insertOne({text : "resume"});
如何将此集合的归类的强度更改为3?我如何看待变化?我没有在db
对象或db.words
对象或文档中看到任何可用的相关功能!
1> Stennie..:
您如何修改创建时在集合上设置的选项?
与MongoDB 3.6一样,默认排序规则选项只能在创建集合时指定。不支持修改默认排序规则选项。
但是,如果要使用默认排序规则以外的排序规则选项,则可以为支持排序规则的操作指定collation
文档,例如和。find()
aggregate()
我们如何查看已经设置的选项?
有几种方法。
所述db.getCollectionInfos()
壳辅助显示附加集合的信息,例如为核对的默认值:
db.getCollectionInfos({name:'words'})[0].options.collation
{
"locale": "es",
"caseLevel": false,
"caseFirst": "off",
"strength": 2,
"numericOrdering": false,
"alternate": "non-ignorable",
"maxVariable": "punct",
"normalization": false,
"backwards": false,
"version": "57.1"
}
您还可以检查查询计划程序使用的默认排序规则选项:
> db.words.find().explain().queryPlanner.collation
{
"locale": "es",
"caseLevel": false,
"caseFirst": "off",
"strength": 2,
"numericOrdering": false,
"alternate": "non-ignorable",
"maxVariable": "punct",
"normalization": false,
"backwards": false,
"version": "57.1"
}