問題タブ [mongodb-update]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
33 参照

mongodb - 配列のすべてのオブジェクトにキーを設定するMongoDB

配列内の 1 つの項目のみが「現在」としてマークされていることを確認したい。したがって、私の考えでは、着信データが「current = true」とマークされている場合、他のすべての項目を「current = false」に変更したいと考えています。

データは次のようになります。

したがって、学校を追加する場合は、既存の学校が current: false としてマークされていることを確認したいと思います。新しい学校が current: true とマークされている場合のみです。

着信オブジェクトは次のようになります。

これが私が使用しようとしているコードです。エラーは発生しませんが、current=true の既存の学校はそのままで、変更はありません。したがって、機能していないようです

注: 渡された ID は、個人の _id (_id:123) です。

助言がありますか?

注: 私は mongoose 5.2.13 を使用して高速アプリを mongoDB に接続していますが、この警告が表示されます - (node:14508) DeprecationWarning: collection.findAndModify is deprecated. 代わりに、findOneAndUpdate、findOneAndReplace、または findOneAndDelete を使用してください。

しかし、私は「findAndModify」を使用していないので、これが当てはまるとは思いませんが、なぜ表示されるのか興味があります。