2012-04-19 61 views
4

我有一個關於Mongo分片鍵的問題。我有以下幾種結構的文檔:Mongo DB嵌套分片鍵

{ 
    "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}}) 

是否有可能創造這樣的碎片鍵或僅頂層鍵是可以接受的。此外,如果我嘗試插入沒有分片鍵字段的文檔,插入操作會失敗嗎?

回答

5

它,你需要用引號括起來的關鍵領域:

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