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

MongoDB C# ड्राइवर और सर्वर द्वारा उत्पन्न ObjectIds

कैप्ड संग्रह से प्रविष्टि क्रम में दस्तावेज़ प्राप्त करना

कैप्ड संग्रह दस्तावेज़ों को प्रविष्टि क्रम में बनाए रखते हैं, इसलिए आपको आदर्श रूप से प्राकृतिक क्रम उत्पन्न _id . में टाइमस्टैम्प पर निर्भर होने के बजाय . आपका टेलेबल कर्सर प्राकृतिक क्रम में दस्तावेज़ पढ़ रहा होगा, इसलिए _id के आधार पर कोई धारणा नहीं बनानी चाहिए ।

सर्वर-साइड जेनरेट करना _id

_id उत्पन्न करने के लिए सर्वर साइड पर C# ड्राइवर का उपयोग करके आपको निम्न करने की आवश्यकता है:

  • वर्ग विशेषता सेट करें [BsonIgnoreIfDefault]
  • संग्रह विशेषता सेट करें AssignIdOnInsert = false
  • बिना किसी _idदस्तावेज़ को सम्मिलित करें

उदाहरण:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Bson.Serialization.Attributes;

public class MyDoc {
    [BsonIgnoreIfDefault]
    public ObjectId? Id;
    public int X;
}

public static class Program {
    public static void Main(string[] args) {
        MongoClient client = new MongoClient(); // connect to localhost
        var server = client.GetServer ();
        var database = server.GetDatabase("test");
        var collectionSettings = new MongoCollectionSettings { AssignIdOnInsert = false };
        var collection = database.GetCollection<MyDoc>("nullid", collectionSettings);

        // Insert document without _id
        collection.Insert(new MyDoc { X = 1});
    }
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. कई दस्तावेज़ों को परमाणु रूप से अपडेट करें और उन्हें वापस करें

  2. मैं अपने डेटाबेस का MongoDB डंप कैसे बनाऊं?

  3. मैं नेस्टेड दस्तावेज़ों के लिए एकत्रीकरण पाइपलाइन में खोलना चरणों को कैसे कम कर सकता हूं?

  4. विधि विकास में काम करती है लेकिन उत्पादन नहीं रेल MongoDB

  5. उप-दस्तावेज़ों को पुनः प्राप्त करें जो सरणी में अधिकतम मूल्य से मेल खाते हैं