2017-05-25 47 views
0

我已存儲的MongoDB中database.My數據的每個條目看起來像下面刪除數據庫中的條目:MognoDB,PyMongo:只用鑰匙

{u'_id': ObjectId('5926858fd51b6b4a399a800a'), u'james,2017-05-01': [u'2017-05-01', u'Cell', u'1', u'UT', u'Repo', u'1', u'Add extra information']} 

正如你可以看到我的關鍵是用戶名和日期的組合,ieusername,數據。 而值是列表。

我想在我的情況下使用鍵刪除數據庫中的條目它是用戶名,數據。 我是MongoDB的新手。有人能幫我嗎?

+0

你想['$ exists'(https://docs.mongodb.com/manual/reference/operator/query/exists/)。具體地說'刪除({'james,2017-05-01'{'$ exists':True}})' –

+0

那麼它只會從密鑰中刪除? –

+0

*「使用鍵刪除數據庫中的條目」是您的問題所在。這是否與具有此密鑰的文檔匹配,然後刪除該文檔?是的,它確實。首先嚐試使用'.find()'查詢條件來查看選擇的內容。在文檔鏈接中給出的所有內容以及鏈接的答案。閱讀它們,以便了解。 –

回答

1

remove()方法的基本語法如下 -

db.COLLECTION_NAME.remove(DELLETION_CRITTERIA) 

考慮測試收集有以下數據。

{ "_id" : ObjectId(5983548781331adf45ec5), "title":"First"} 
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"Second"} 

以下示例將刪除標題爲「First」的所有文檔。

db.test.remove({'title':'First'}) 

進行檢查:

db.test.find() 
+0

所以它是必需的key,value par.Can't我們不能使用鍵刪除嗎? –

+0

在你的情況下,你可以使用db.test.remove({'username':'YourUserName'})':if exists –

+0

嗨,我的情況下鍵是用戶名,日期和值是dept,release.So查詢看起來像用戶名,日期:部門,日期,價值。所以我想刪除使用的密鑰,在我的情況下,它是用戶名,日期 –