我正在寻找关于我做错了什么或者我应该做些什么来建议在MongoDB中标记分片集合的建议,它在子文档字段上有一个分片键。
我正在使用MongoDB 2.4和My User集合结构看起来像打击,并且在AccountId上键入:
如果像这样调用addTagRange()助手:
sh.addTagRange("Mydb.User", {"Account.AccountId":MinKey}, {"Account.AccountId":MaxKey}, "ssd")
我得到的错误是:
JavaScript execution failed: can't have . in field names [Account.AccountId] at src/mongo/shell/collection.js:L143
我已尝试删除引号,但这会产生类似的错误:
JavaScript execution failed: SyntaxError: Unexpected token .
所以我现在想知道这可以通过帮助器实现,或者我是否必须编辑配置数据库以使其工作。我原以为这是可能的,因为MongoDB允许首先在子文档上创建分片键。
感谢任何帮助。
由于
答案 0 :(得分:0)
您可以使用\uff0e
代替点
sh.addTagRange("Mydb.User", {"Account\uff0eAccountId":MinKey}, {"Account\uff0eAccountId":MaxKey}, "ssd")
了解更多: http://docs.mongodb.org/manual/faq/developers/#faq-dollar-sign-escaping