我在MongoDB 3.4中显式创建了一个集合,以定义排序规则:
db.createCollection("mycoll", {collation: {
"locale": "en_US",
"strength": 1,
"caseLevel": false,
"numericOrdering": false,
"maxVariable": "punct",
"caseFirst": "off",
"alternate": "non-ignorable",
"normalization": false,
"backwards": false
}})
Run Code Online (Sandbox Code Playgroud)
现在,我想检查与该集合关联的排序规则,但是找不到用于显示该信息的命令。我测试了以下命令,但没有运气
db.mycoll.stats()
db.runCommand({collStats: "mycoll"})
Run Code Online (Sandbox Code Playgroud)
那么,要知道某个集合的归类的命令是什么?
编辑:分析上面我collator=在wiredTiger存储引擎下找到的命令的输出,所以我想知道它是否应该出现排序规则,但为什么它为空?
编辑:检查完所有输出后,db.runCommand({collStats: "mycoll"})我在_id index 内的indexDetails部分下找到了排序规则,但这是索引排序规则,而不是集合排序规则。考虑到如果使用autoIndexId = false创建了集合,那么将缺少indexDetails:在任何情况下如何知道某些集合的排序规则?
最后,我写信给MongoDB的人们,因为我无法在网络上找到答案,因此他们与助手一起答复了我,以了解排序规则:
db.getCollectionInfos({name: 'mycoll'})
Run Code Online (Sandbox Code Playgroud)
输出量
[
{
"name" : "mycoll",
"type" : "collection",
"options" : {
"collation" : {
"locale" : "en_US",
"caseLevel" : false,
"caseFirst" : "off",
"strength" : 1,
"numericOrdering" : false,
"alternate" : "non-ignorable",
"maxVariable" : "punct",
"normalization" : false,
"backwards" : false,
"version" : "57.1"
}
},
"info" : {
"readOnly" : false
},
"idIndex" : {
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "testdb.mycoll",
"collation" : {
"locale" : "en_US",
"caseLevel" : false,
"caseFirst" : "off",
"strength" : 1,
"numericOrdering" : false,
"alternate" : "non-ignorable",
"maxVariable" : "punct",
"normalization" : false,
"backwards" : false,
"version" : "57.1"
}
}
}
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
707 次 |
| 最近记录: |