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

Sử dụng $ addFields trong MongoDB Driver cho C #

A BsonDocument có thể được chuyển đổi thành IPipelineStageDefinition. Để có được BsonDocument bạn muốn, bạn chỉ muốn:

var addFieldsDefinitionDoc = BsonDocument.Parse(addFieldsDefinition.ToString());
var stageElement = new BsonElement("$addFields", addFieldsDefinitionDoc);
var stage = new BsonDocument(stageElement)

Sau đó, để thêm nó, chỉ cần sử dụng:

aggregate = aggregate.AppendStage(stage);

Tôi không chắc liệu aggregate.Stages.Add sẽ làm như vậy hay không nhưng tôi nghĩ rằng AppendStage có lẽ là cách tốt hơn để làm điều đó (mặc dù tôi không tìm thấy bất kỳ tài liệu nào cho tôi biết cách làm đúng của hầu hết mọi thứ vì vậy điều này đã được tìm thấy thông qua thử nghiệm và lỗi và kiểm tra nguồn để xem mọi thứ hoạt động như thế nào) ...

Bạn thậm chí có thể thêm các giai đoạn bổ sung bằng cách sử dụng các chức năng của trình tạo giai đoạn bình thường như vậy:

aggregate = aggregate.Project(projectionDefinition);

hoặc thậm chí

aggregate = aggregate
    .AppendStage(stage)
    .Project(projectionDefinition);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB có đảm bảo các giá trị trường _id duy nhất khi sử dụng khóa phân đoạn ghép với _id không

  2. Làm cách nào để kết nối mongodb với node.js (và xác thực)?

  3. Phân tích cú pháp JSON thành tài liệu MONGODB

  4. findAndModify - MongoError:ngoại lệ:phải chỉ định loại bỏ hoặc cập nhật

  5. Thiết lập bộ chuyển đổi tùy chỉnh trong Spring Data Mongo