कैप्ड संग्रह से प्रविष्टि क्रम में दस्तावेज़ प्राप्त करना
कैप्ड संग्रह दस्तावेज़ों को प्रविष्टि क्रम में बनाए रखते हैं, इसलिए आपको आदर्श रूप से प्राकृतिक क्रम
उत्पन्न _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});
}
}