私はMongoにこのオブジェクトを持っています:
mystuff = ListField(ReferenceField(Asset, dbref=True))
Mongo オブジェクトを更新し、そのmystuff Listfield 値の前に特定の値を追加する Python メソッドがあります。Mongoengine には、リスト内の特定のポイントにオブジェクトを挿入する方法がまだないため (そして、この機能を追加する優先度を低くしています)、私は次のことを試みました。
- 現在のリストの内容を一時変数に保存します ( oldlist )
- DB エントリを更新し、"pull_all" 修飾子 ( mongoengineの一部)を使用してmystuffリストを空にします。
- update (push) を使用して、新しく追加されたアイテムをmystuffリストにプッシュし、DB エントリを再度更新します。
- 「push_all」修飾子とoldlist変数を使用して、DB エントリをもう一度更新し、古いものをmystuffリストに戻します。
「pull_all」にはなんらかの修飾子が必要なようですが、それが何を望んでいるのかを理解できれば、私は危険にさらされます。
誰かアイデアはありますか?もちろん、理想的な状況はupdate()に "insert_at" 修飾子を追加することですが、それは私の手に負えません。端っこでの生活など