2012-02-11 3 views
2

pymongo에서 샤드 키 필드의 순서를 어떻게 지정합니까? 기본적으로pymongo에서 샤드 키 필드의 순서를 어떻게 지정합니까? (mongodb 용)

(MongoDB를 위해), 당신이 할 수 pymongo :

connection.admin.command('shardcollection', 'dbname.collname', key = {c:1,b:1,a:1}) 

을하지만 내 키의 순서를 존중하지 않습니다.

mongo 셸에서이 작업을 수행하면 키 순서가 올바르게 적용됩니다.

누구나 pymongo에서 주문을 지정하는 방법을 알고 계십니까?

도움을 주셔서 대단히 감사드립니다.

답변

4

나는 그것을 알아 냈다!

from collections import OrderedDict 

key = OrderedDict([('a',1), ('b', 1), ('c',1)]) 
... 
... 
connection.admin.command('shardcollection', 'mydb.test', key=key) 
+0

oops! 나는 대답을 게시 한 당신을 보지 못했습니다. 그건 그렇고 나를 위해 일하지 않습니다. 그것은 "누락 된 가치"를 말합니다. 어떤 생각? –

+1

[('c', 1), ('b', 1), ('a', 1)]과 같은 튜플 목록을 시도해보십시오. – user701632