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

mongodb c#ドライバーでPOCOを使用するときに_idフィールドを管理する方法

    オブジェクトを挿入するときに、_idがない場合 フィールドの場合、ドライバーは1つ追加し、それを12バイトのMongoDBObjectId値に設定します。

    Idを追加するだけです _idから逆シリアル化されるPOCOのプロパティ :

    public class Thingy
    {
         public ObjectId Id { get; set; }
    }
    

    または、別のプロパティを委任して_idにマッピングする場合 次に、BsonIdAttributeで装飾できます。 、このように:

    [BsonId]
    public ObjectId MyKey { get; set; }   
    

    _id フィールドはMongoDBObjectIdである必要はありません 、任意のデータ型(配列を除く)の任意の値に設定できます。コレクション内で一意である必要があります。



    1. マングースでコレクションの要素を見つけて数える

    2. Booksleeve接続を開く/閉じる頻度はどれくらいですか?

    3. $exists演算子を使用してフィールドの存在を確認するときにMongoDBはインデックスを使用できますか?

    4. mongorestoreを使用してMongoDBデータベースを復元する