0
配列オブジェクトから最後の2つの要素を削除します。mongodbの配列から最後の2つの要素を削除します
{
"_id" : ObjectId("597973c8c9fadd14e8ea51bb"),
"values" : [1,2,3,4,5,6]
}
私は$ popを試しましたが、毎回1つの要素しか削除しませんでした。 便利な方法はありますか?
配列オブジェクトから最後の2つの要素を削除します。mongodbの配列から最後の2つの要素を削除します
{
"_id" : ObjectId("597973c8c9fadd14e8ea51bb"),
"values" : [1,2,3,4,5,6]
}
私は$ popを試しましたが、毎回1つの要素しか削除しませんでした。 便利な方法はありますか?
私が知る限りこれを行う方法はありません。最も近いのはおそらくあなたのアプリケーション($slice
)のリストを取得し、最後にn個の項目を配列に入れて$pull
を実行することです。それはすべての同様の要素を引き出します。
これがオプションでない場合は、$pop
を繰り返すことが唯一の方法と思われます。
他の方法もありますが、一般的な前提はアレイ内の項目数の予見があることに基づいています。たとえば、配列を4つのアイテムに減らしたいと思っている場合は、それを行うことができます。また、新しいアイテムを追加しながら合計6アイテムしか残したくない場合は、それを行うこともできます。簡単に言えば、あなたが提示している簡単なものとは対照的に、「本当のユースケース」に対するより良い解決策があります。あなたが本当にそれをしたい理由を記述した場合は、より良い解決策を提示することができます。 –