5

配列から 1 つの項目をポップして、その要素を取得したいと思います。

mongodbで可能ですか?

そのような情報は見つかりませんでした

http://docs.mongodb.org/manual/reference/operator/pop/

4

2 に答える 2

3

これは不可能です。MongoDB は、通常の更新を使用して以前に持っていたドキュメントの一部を返しません。つまり、ポップされた要素だけでなく、完全なドキュメントを返すことができると言われていますfindAndModify( http://docs.mongodb.org/manual/reference/command/ findAndModify/ )、最初または最後の要素を除外できます。

注意: findAndModify は基本的に、クエリ内のすべてのドキュメントを選択して操作するようなものであり、それが返される方法であるため、多数にまたがるクエリでパフォーマンスが低下する可能性があることに注意してください。

于 2012-12-13T08:18:52.653 に答える
2

MongoDB 操作は完全なドキュメントを返します。

オプションは次のとおりです。

  • findAndModifyコマンドを使用し、返されたドキュメントを処理して、配列プログラム側のポップされた値を取得します。(1クエリ)
  • findを使用してドキュメントを取得し、プログラム側でポップする値を取得して、updateを送信します。(2 つのクエリ)
于 2012-12-13T08:18:03.947 に答える