2014-11-01 2 views
0

_id 이름의 목록을 만들고 싶습니다. 이 쿼리 중 PyMongo와 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']는 :PyMongo에서 _id 이름 목록을 얻는 방법

from pymongo import MongoClient 

if __name__ == '__main__': 

    db = MongoClient() 
    sDB = db.test.users 
    for u in list(sDB.users.find({}, {"_id": 1}).limit(10)): 
     print "!!!", u 

이유는 위의 목록이 비어 :

> db.users.find({},{ "_id":1}).limit(10) 
{ "_id" : "0" } 
{ "_id" : "1" } 
{ "_id" : "2" } 
{ "_id" : "3" } 
{ "_id" : "4" } 
{ "_id" : "5" } 
{ "_id" : "6" } 
{ "_id" : "7" } 
{ "_id" : "8" } 
{ "_id" : "9" } 

그러나, 다음 코드는 어떤 결과를 생성하지 않는 이유는 무엇입니까?

답변

2

users을 두 번 참조 했으므로 실제로는 users.users 컬렉션을보고 있습니다.

이 작동합니다 (당신이 중 하나 list 호출이 필요하지 않습니다) :

db = MongoClient() 
users = db.test.users 
for u in users.find({}, {"_id": 1}).limit(10): 
    print "!!!", u 
관련 문제