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

It is, you need to enclose your key fields with quotes :

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