MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Driver MongoDB C# dan ObjectIds yang dihasilkan server

Mendapatkan dokumen dalam urutan penyisipan dari koleksi yang dibatasi

Koleksi yang dibatasi memelihara dokumen dalam urutan penyisipan, jadi Anda sebaiknya menggunakan tatanan alami daripada mengandalkan stempel waktu di _id . yang dihasilkan . Kursor tailable Anda akan membaca dokumen dalam urutan alami, jadi jangan membuat asumsi apa pun berdasarkan _id .

Membuat _id sisi server

Untuk menghasilkan _id di sisi server menggunakan driver C# Anda perlu:

  • mengatur atribut kelas [BsonIgnoreIfDefault]
  • mengatur atribut koleksi AssignIdOnInsert = false
  • menyisipkan dokumen tanpa _id

Contoh:

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. warisan dalam database dokumen?

  2. Apa motivasi untuk mengintegrasikan mongodb dengan solr

  3. Mongodb Atlas:tidak diizinkan pada admin untuk menjalankan perintah

  4. MongoDb mencari array bersarang antara dateTimes menggunakan Robomongo

  5. Mempertahankan urutan permintaan http dalam loop for di javascript