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

Truy vấn C # mongo với chuỗi json

Nó xấu, nhưng bạn có thể làm điều này bằng cách giải mã hóa chuỗi trong một BsonDocument và sau đó gói trong một QueryDocument

BsonDocument query = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>("{ SendId: 4, 'Events.Code' : { $all : [2], $nin : [3] } }");
QueryDocument queryDoc = new QueryDocument(query);
var result = collection.FindAs<TypeOfResultExpected>(queryDoc); // or just use Find

Nếu đó là việc bạn định làm thường xuyên, bạn luôn có thể gói nó trong một phương thức hoặc tạo JSQueryDocument lớp như sau:

public class JSQueryDocument : QueryDocument
{
    public JSQueryDocument(string query) : base(MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(query))
    {
        // Probably better to do this as a method rather than constructor as it
        // could be hard to debug queries that are not formatted correctly
    }
}

/// ...

var result = collection.Find(new JSQueryDocument("{ SendId: 4, 'Events.Code' : { $all : [2], $nin : [3] } }"));


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cài đặt MongoDB Community Edition 4.0 trên Linux

  2. Kết nối từ xa với giao diện MongoDB http trên máy chủ EC2

  3. Cách quản lý cơ sở dữ liệu lớn một cách hiệu quả

  4. Thứ tự trường MongoDB và vị trí tài liệu thay đổi sau khi cập nhật

  5. MongoDB $ ifNull