たとえば、mongo にタグテーブルがあり、データモデルは次のとおりです
リーリー['mongoDB','node.js','mysql'] などのタグ名の配列ができました。
人気度をバッチで更新したいと考えています。そのようなタグがない場合は、それを挿入し、次のように実装します
このような操作ですが、このコマンドを実行すると空のデータが追加されます
私が今実装している方法は、最初にクエリを実行することです。クエリは可能 クエリは可能、挿入操作は実行できない ただし、このような操作を実行するにはコードからタグ配列を何度も走査する必要があり、パフォーマンスが良くありません。専門家にもっと良い解決策があるかどうかを尋ねたいです。
ringa_lee2017-05-24 11:37:41
1. 更新操作ステートメントは問題ありません。
2. 空のデータを追加したということは、条件を満たすドキュメントが見つからず、upsert が true に設定されていたため、フィールド ホットを含むドキュメントが挿入されたためです。コレクションのドキュメントのステータスを確認して、もう一度試してみることもできます。更新操作に問題は見つかりませんでした。
ご参考までに。
MongoDB が大好きです!楽しむ!
2017 MongoDB 中国語コミュニティ北京ユーザー グループ カンファレンスが間もなく開催されます! QRコードを読み取って登録してください!
某草草2017-05-24 11:37:41
mongodb で upsert を使用できるはずです
upsert({},{},true) true は、存在しない場合は書き込み、存在する場合は更新を意味します。
公式サポート フォーラムを参照できます:
http:// forum.foxera.com/モンゴ...