MongoDBから削除された文書を入手することは可能ですか?MongoDBで文書を削除するには?
result = db.things.remove({_id: id})
// is there a result.removedObjects?
ありがとうございます!
MongoDBから削除された文書を入手することは可能ですか?MongoDBで文書を削除するには?
result = db.things.remove({_id: id})
// is there a result.removedObjects?
ありがとうございます!
可能ですが、別のコマンドが必要です。あなたはfindAndModify
commandを探しています。
オプションを{query: ..., remove: true, new: false}
に設定すると、1つのドキュメントを削除し、削除したドキュメントを返します。
いくつかの注意:
new
が正しくフラグのテキストをラップしていることを確認し、多くの言語でキーワードです。findAndModify
は、単一のドキュメントでのみ動作します。 _id
を削除しても問題ありませんが、遠隔削除には適していません。db.collection('mycollection').findOneAndDelete({
id: '123456'
}, function (error, response) {
response.value;// returns the deleted object, but no longer exists in the database
});
このコードスニペットは問題を解決するかもしれませんが[説明を含む](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-回答)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えていて、コード提案の理由を知らない人もいるかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! – kayess
'remove:true'は' new'パラメータを無視しますか? [node-mongodb-native docs](https://github.com/mongodb/node-mongodb-native#find-and-modify)と[ここ](http://docs.mongodb.org/)にあります。 manual/reference/command/findAndModify /) – balazs
これは無視される可能性があります。これらのドキュメントは、この回答が書かれてから約12ヶ月後に書かれました:)それは返された値がいずれの場合も同じであるため、おそらく正しいでしょう。 –
削除後に条件に合致する文書の範囲を返却するにはどうすればよいですか? – thethakuri