0
所以我有一個使用大量嵌入式文檔的應用程序,這很好。但是我注意到,當您在Mongo shell中使用show collections
時,某些嵌入式文檔不會顯示。通過Mongo Shell刪除非收集嵌入式文檔
通常情況下這不是問題,但在設置嵌入式文檔時,我不小心添加了一個空條目到其中一個條目。我通常會做這樣的事情來刪除條目db.collection.remove({_id: ObjectId('<OBJECT_ID>')})
,但由於其中一些不是實際的集合,我無法這樣做。
我也不確定如何在實際刪除文檔時成功拼接出來。我可以將它與條目拼接在一起,但是我有一種感覺,它會讓嵌入文檔在數據庫中的某處浮動。
任何想法如何做到這一點?
爲了給你一個想法是什麼我談論,入口的一個例子:
entry = {
_id: ObjectId('blah blah blah'),
name: {
first: 'example',
last: 'city'
},
log : [
{
_id: ObjectId('some id'),
action: 'whatever',
someField: 'etc.'
},
{
_id: ObjectId('another id')
},
{
_id: ObjectId('yet another id'),
action: 'who cares',
someField: 'data'
}
]
}
你想從本文件中刪除什麼? 「日誌」條目之一?爲什麼不使用db.collection.update({_ id:blah blah},{$ pull:{「log._id」:another_id}})? –
我想刪除數組中的單個條目。看來美元拉是我一直在尋找的。如果您想以小解釋和文檔鏈接的形式添加此答案,我很樂意接受您的答案。 –