MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Trình điều khiển MongoDB C # và các ObjectIds do máy chủ tạo

Lấy tài liệu theo thứ tự chèn từ bộ sưu tập có giới hạn

Bộ sưu tập có giới hạn duy trì tài liệu theo thứ tự chèn, vì vậy, lý tưởng là bạn nên sử dụng trật tự tự nhiên thay vì dựa vào dấu thời gian trong _id được tạo . Con trỏ có thể điều chỉnh của bạn sẽ đọc tài liệu theo thứ tự tự nhiên, vì vậy không nên đưa ra bất kỳ giả định nào dựa trên _id .

Tạo _id phía máy chủ

Để tạo _id ở phía máy chủ bằng cách sử dụng trình điều khiển C # bạn cần:

  • đặt thuộc tính lớp [BsonIgnoreIfDefault]
  • đặt thuộc tính tập hợp AssignIdOnInsert = false
  • chèn tài liệu không có _id

Ví dụ:

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. MongoDB:Kéo nhiều tài liệu ngẫu nhiên từ một bộ sưu tập

  2. Mongoose update không cập nhật:{ok:0, n:0, nModified:0}

  3. Cách áp dụng thuộc tính BsonRepresentation theo quy ước khi sử dụng MongoDB

  4. Bộ lọc mảng Mongodb 3.6.0-rc3 không hoạt động?

  5. Tăng giới hạn bộ nhớ cho các công việc tổng hợp mongodb