2017-03-31 55 views
0

我想在mongoDB中的集合中打印所有對象ID。我知道如何將ObjectId轉換爲字符串,但是我不確定如何實際進行調用以列出所有對象ID。如何使用python查詢objectid上的mongodb

我試圖從pymongo文檔以下,但沒有任何反應,因爲我有4 ObjectId小號

def get(post_id): 
    Document=client.db.collection.find_one({'_id':ObjectId(post_id)}) 
    return Document 
+0

約瑟夫喜;你能解釋一下當你說你有四個ObjectIds時你的意思,以及這是如何使數據庫查詢出錯的? –

+0

在我的mongodb中,我有一個集合。在該集合下,有四個不同的objectID。我希望能夠返回所有4個不同的對象ID,因爲之後我有一個函數可以更新數據庫數據,但需要更新的數據取決於對象ID。例如,數據X必須更新爲對象ID X,數據Y對象ID Y等 –

+0

運行上述代碼不會返回任何內容。我希望它返回4個唯一對象標識 –

回答

1

這裏的how you find all the docs in a collection

但你可以做到這一點與蟒蛇:

all_posts = client.db.collection.find() 

for post in all_posts: 
    print post._id 
+0

獲取_all data_並在客戶端挑選它以查找所需記錄的效率非常低下。我認爲OP會發現它能夠查詢單個記錄的數據庫更有用。 –