MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB का उपयोग करते समय सम्मेलन द्वारा BsonRepresentation विशेषता कैसे लागू करें

हां, मैने भी ध्यान दिया। StringObjectIdIdGeneratorConvention . का वर्तमान कार्यान्वयन किसी कारण से काम नहीं लग रहा है। यहाँ एक है जो काम करता है:

public class Person
{
    public string Id { get; set; }
    public string Name { get; set; }
}

public class StringObjectIdIdGeneratorConventionThatWorks : ConventionBase, IPostProcessingConvention
{
    /// <summary>
    /// Applies a post processing modification to the class map.
    /// </summary>
    /// <param name="classMap">The class map.</param>
    public void PostProcess(BsonClassMap classMap)
    {
        var idMemberMap = classMap.IdMemberMap;
        if (idMemberMap == null || idMemberMap.IdGenerator != null)
            return;
        if (idMemberMap.MemberType == typeof(string))
        {
            idMemberMap.SetIdGenerator(StringObjectIdGenerator.Instance).SetSerializer(new StringSerializer(BsonType.ObjectId));
        }
    }
}

public class Program
{
    static void Main(string[] args)
    {
        ConventionPack cp = new ConventionPack();
        cp.Add(new StringObjectIdIdGeneratorConventionThatWorks());
        ConventionRegistry.Register("TreatAllStringIdsProperly", cp, _ => true);

        var collection = new MongoClient().GetDatabase("test").GetCollection<Person>("persons");

        Person person = new Person();
        person.Name = "Name";

        collection.InsertOne(person);

        Console.ReadLine();
    }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MEAN स्टैक के लिए फ़ोल्डर संरचना

  2. mongoDB को सर्वर से कैसे कनेक्ट करें?

  3. MongoDB में ObjectIDs के बजाय UUIDs का उपयोग करना

  4. रेल - जहां मोंगोडीबी (मोंगॉयड) डीबी और लॉग स्टोर करता है?

  5. मोंगोड, मैक ओएस एक्स - चेतावनी को सीमित करता है