0

我正在寻找关于我做错了什么或应该做什么来标记 MongoDB 中的分片集合的建议,该集合在子文档字段上有一个分片键。

我正在使用 MongoDB 2.4 并且我的用户集合结构看起来像打击,并且以 AccountId 为键:

  • 帐户(子文档)
    • AccountId <-- 分片键
    • 字段 X
    • 字段 Y-
    • ...等等

如果像这样调用 addTagRange() 助手:

sh.addTagRange("Mydb.User", {"Account.AccountId":MinKey}, {"Account.AccountId":MaxKey}, "ssd")

我得到的错误是:

JavaScript 执行失败:不能有 . 在 src/mongo/shell/collection.js:L143 的字段名称 [Account.AccountId]

我试过删除引号,但这会产生类似的错误:

JavaScript 执行失败:SyntaxError: Unexpected token 。

所以我现在想知道这是否可以通过帮助程序实现,或者我是否必须编辑配置数据库才能使其工作。我原以为这是可能的,因为 MongoDB 首先允许在子文档上创建分片键。

任何帮助表示赞赏。

谢谢

4

1 回答 1

0

你可以用\uff0eto 代替 dot

sh.addTagRange("Mydb.User", {"Account\uff0eAccountId":MinKey}, {"Account\uff0eAccountId":MaxKey}, "ssd")

查看更多: http ://docs.mongodb.org/manual/faq/developers/#faq-dollar-sign-escaping

如何在字段名称中使用点?

于 2014-02-27T09:28:52.380 回答