MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB C# Driver i wygenerowane przez serwer identyfikatory ObjectId

Pobieranie dokumentów w kolejności reklamowej z ograniczonej kolekcji

Kolekcje ograniczone utrzymują dokumenty w kolejności wstawiania, więc najlepiej używać naturalny porządek zamiast polegać na znaczniku czasu w wygenerowanym _id . Twój kursor z możliwością ogonowania będzie odczytywał dokumenty w naturalnej kolejności, więc nie należy podejmować żadnych założeń na podstawie _id .

Generowanie _id po stronie serwera

Aby wygenerować _id po stronie serwera za pomocą sterownika C# należy:

  • ustaw atrybut klasy [BsonIgnoreIfDefault]
  • ustaw atrybut kolekcji AssignIdOnInsert = false
  • wstaw dokument bez _id

Przykład:

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. Kopiuj/klonuj kolekcję w MongoDB

  2. Projektowanie schematu MongoDB:zawsze istnieje schemat

  3. Próba usunięcia odniesienia do obiektu w MongoDB za pomocą mongoose na NodeJS

  4. dane wiosenne - Mongodb - metoda findBy dla obiektów zagnieżdżonych

  5. Uruchom migrację bazy danych (mongodb) za pomocą node.js