だから、私は多くの埋め込みドキュメントを使用するアプリケーションを持っていますが、これは問題ありません。show collections
ただし、Mongo シェルでは一部の埋め込みドキュメントが表示されないことに気付きました。
通常、これは問題ではありませんが、埋め込みドキュメントの設定をいじっているときに、誤ってエントリの 1 つに空のエントリを追加してしまいました。私は通常、エントリを削除するためにこのようなことをしますdb.collection.remove({_id: ObjectId('<OBJECT_ID>')})
が、これらのいくつかは実際のコレクションではないため、このようにすることはできません.
また、実際にドキュメントを削除しているときに、これをうまくつなぎ合わせる方法もわかりません。エントリからスプライスすることはできますが、埋め込まれたドキュメントが DB のどこかに浮かんでいるような気がします。
これを行う方法はありますか?
私が話していることを理解してもらうために、エントリの例を示します。
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'
}
]
}