キャップされたコレクションが空の場合は空のドキュメントをアトミックに挿入しようとしています。空でない場合は、最後に自然に並べ替えられたドキュメントを返します。findAndModify でこれを行うことはできますか?
db.collection.findAndModify({
query: { _id: { $exists: true }},
sort: { $natural: -1 },
update: {},
upsert: true,
new: true
});
これは、最新のドキュメントを返す (コレクションが空でない場合) か、存在しない場合は新しいドキュメントを挿入することを期待していましたが、呼び出されるたびに空白のドキュメント (_id なし) を挿入します。findAndModify は上限のあるコレクションで機能しますか? 追加されたドキュメントに_id
.
ありがとう。
-スコット