MongoDB 无法使用 DataGrip 为文本索引设置 default_language
MongoDB cannot set default_language for text index using DataGrip
我正在尝试为名为 test 的 mongodb 集合中的多个字段创建文本索引,但是当我 运行 DataGrip 中的这个脚本时
db.test.createIndex(
{"field1.subfield1": "text", "field1.subfield2": "text"},
{name : "my_test_index", default_language: "italian", weights:{"field1.subfield1": 2}})
抛出这个错误
com.mongodb.mongosh.result.CommandException: unrecognized index model field: default_language
我尝试 运行从 mongo shell 中的 .js 文件中调用此脚本,但没有成功。
经过其他测试后,我注意到文本索引的所有特殊选项都存在一些问题(default_language,language_override, 权重, 等等)
MongoDB 实例信息
MongoDB shell version v4.4.3
Build Info: {
"version": "4.4.3",
"gitVersion": "913d6b62acfbb344dde1b116f4161360acd8fd13",
"openSSLVersion": "OpenSSL 1.1.1i 8 Dec 2020",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "debian10",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
问题出在哪里?有什么想法吗?
问题可能是 DataGrip 或其驱动程序中的错误。
解决方案:使用 Compass 或 MongoDB Shell 有效
它没有在 Java 驱动程序中实现
我为它创建了一个问题https://youtrack.jetbrains.com/issue/DBE-12537
当我们发布带有修复的驱动程序时,我会在这里发表评论
我正在尝试为名为 test 的 mongodb 集合中的多个字段创建文本索引,但是当我 运行 DataGrip 中的这个脚本时
db.test.createIndex(
{"field1.subfield1": "text", "field1.subfield2": "text"},
{name : "my_test_index", default_language: "italian", weights:{"field1.subfield1": 2}})
抛出这个错误
com.mongodb.mongosh.result.CommandException: unrecognized index model field: default_language
我尝试 运行从 mongo shell 中的 .js 文件中调用此脚本,但没有成功。
经过其他测试后,我注意到文本索引的所有特殊选项都存在一些问题(default_language,language_override, 权重, 等等)
MongoDB 实例信息
MongoDB shell version v4.4.3
Build Info: {
"version": "4.4.3",
"gitVersion": "913d6b62acfbb344dde1b116f4161360acd8fd13",
"openSSLVersion": "OpenSSL 1.1.1i 8 Dec 2020",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "debian10",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
问题出在哪里?有什么想法吗?
问题可能是 DataGrip 或其驱动程序中的错误。
解决方案:使用 Compass 或 MongoDB Shell 有效
它没有在 Java 驱动程序中实现
我为它创建了一个问题https://youtrack.jetbrains.com/issue/DBE-12537
当我们发布带有修复的驱动程序时,我会在这里发表评论