そのため、PHPとMongoDBを使用して、読み取りと書き込みの両方でかなりのトラフィックが発生するアプリを構築しています。数か月後、1秒あたり約2500回の読み取り、1秒あたり200回の書き込みが発生するはずです(実際の方法はわかりません)。ただし、他と比較したトラフィックの観点からのレート)。
コレクションを更新するときに何をすべきかについて少し興味があります。ドキュメントの例は、特定のコレクションフィールドを更新するシェルを示していますが、コレクションの任意の数のフィールドが変更された場合に何が起こるかについては説明していません。
たとえば、ユーザーコレクションがあるとします(非常に単純化された例)。
ユーザー={ _id:MongoId(...)、 名前:'ユーザー1'、 メール:'email@address.com'、 会社:'会社'、 ..。 }
編集可能なすべてのフィールドがフォームに表示されますが、ユーザーは自分のメールアドレスのみを変更します。
パフォーマンスの観点から厳密に言えば、元の値を非表示の入力に格納してPHPで比較し、更新に固有のクエリを作成するのが最善でしょうか?
または、とにかくすべての編集可能なフィールドを置き換える必要がありますか?
これは、オブジェクトと配列を相互に含むコレクションになります。ここに示す単純なものではありません。
最適化が後に続くことは知っていますが、MongoDBでも良い習慣を身に付けたいと思っています。
ありがとう。