sql >> データベース >  >> NoSQL >> MongoDB

mongodbシリアライザーがすでに登録されているかどうかを検出するにはどうすればよいですか?

    TL; DR: 怠け者の場合は、BsonSerializer.LookupSerializerを使用してください またはBsonMemberMap.GetSerializer正しく行う登録コードが1回だけ呼び出されることを確認してください

    これを回避する最善の方法は、シリアライザーが1回だけ登録されるようにすることです。アプリケーションに対してグローバルなものを1回だけ登録するグローバルスタートアップコードを用意することをお勧めします。これには、依存性注入の構成、automapperやmo​​ngodbドライバーなどのツールが含まれます。このコードを1回だけ呼び出し、コード内の1つのポイントから呼び出す場合は、スレッドセーフ、デッドロック、または同様の問題について心配する必要はありません。

    MongoDBドライバーの構成設定はスレッドセーフですが、構成が必要になる可能性のあるすべてのソフトウェアパッケージにこれが当てはまるとは限りません。また、ロックは非常に高額になる可能性があります コードがマルチスレッドの場合、たとえばWebアプリケーションの場合のパフォーマンスの面で。最後になりましたが、一部のメソッドは継承ツリー全体をウォークする必要があるため、実行しているルックアップはそもそも簡単ではない可能性があります。



    1. 複数のコレクションに対してMongodbaggrigateフィルターを実行するにはどうすればよいですか?

    2. MongoDB:指定された値を持つアイテムが配列にいくつ存在するかを数えますか?それはドキュメントにありますか?

    3. Mongodbの行から列への集約

    4. マングースは空の配列を作成しますか?