2017-08-22 18 views
0

配列オブジェクトから最後の2つの要素を削除します。mongodbの配列から最後の2つの要素を削除します

{ 
    "_id" : ObjectId("597973c8c9fadd14e8ea51bb"), 
    "values" : [1,2,3,4,5,6] 
} 

私は$ popを試しましたが、毎回1つの要素しか削除しませんでした。 便利な方法はありますか?

+0

他の方法もありますが、一般的な前提はアレイ内の項目数の予見があることに基づいています。たとえば、配列を4つのアイテムに減らしたいと思っている場合は、それを行うことができます。また、新しいアイテムを追加しながら合計6アイテムしか残したくない場合は、それを行うこともできます。簡単に言えば、あなたが提示している簡単なものとは対照的に、「本当のユースケース」に対するより良い解決策があります。あなたが本当にそれをしたい理由を記述した場合は、より良い解決策を提示することができます。 –

答えて

1

私が知る限りこれを行う方法はありません。最も近いのはおそらくあなたのアプリケーション($slice)のリストを取得し、最後にn個の項目を配列に入れて$pullを実行することです。それはすべての同様の要素を引き出します。

これがオプションでない場合は、$popを繰り返すことが唯一の方法と思われます。

関連する問題