5

我有一个关于 Mongo 分片键的问题。我的文档结构如下:

{
    "payload": {
        "id": "364e1f2c-6d4c-45fb-af19-841149286d67",
        "name": "John",
    },
    "source": "myApp",
    "version": "1.0",
    "additionalInfo": {
        "time": "2012-04-18T17:32:11+03:00"
    }
}

我希望我的分片键是:payload.name 和 additionalInfo.time。以下命令因语法错误而失败:

db.runCommand({ shardcollection : "collection.table", key : {additionalInfo.time: 1, payload.name: 1}})

是否可以创建这样的分片键或只接受顶级键。另外,如果我尝试插入一个没有分片键字段的文档,插入会失败吗?

4

1 回答 1

6

是的,您需要用引号将您的关键字段括起来:

db.runCommand({ shardcollection : "collection.table", key : {'additionalInfo.time': 1, 'payload.name': 1}})
于 2012-04-19T12:56:45.807 回答