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

Dịch có thể truy vấn trở lại IMongoQuery

Câu trả lời đã chỉnh sửa:

Tôi nhận ra rằng đã có một cách chính thức để lấy truy vấn Mongo từ truy vấn LINQ (lẽ ra tôi phải biết!). Bạn phải downcast IQueryable xuống MongoQueryable để có quyền truy cập vào phương thức GetMongoQuery:

var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
var mongoQuery = ((MongoQueryable<Entity>)linqQuery).GetMongoQuery();

Câu trả lời ban đầu:

Hiện tại, không có cách nào được hỗ trợ chính thức để làm điều đó, nhưng trong tương lai gần, chúng tôi dự định sẽ giúp bạn dễ dàng tìm ra truy vấn MongoDB mà truy vấn LINQ đã được ánh xạ tới.

Trong ngắn hạn, bạn có thể sử dụng các phương pháp nội bộ không có tài liệu sau đây để tìm hiểu truy vấn MongoDB mà truy vấn LINQ được ánh xạ tới:

var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
var translatedQuery = (SelectQuery)MongoQueryTranslator.Translate(linqQuery);
var mongoQuery = translatedQuery.BuildQuery();

Nhưng tại một số thời điểm, bạn có thể cần phải chuyển từ các phương thức không có tài liệu này sang các phương thức được hỗ trợ chính thức (các phương thức không có tài liệu có thể thay đổi hoặc được đổi tên trong tương lai).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. In kết quả truy vấn Mongo thành một tệp khi ở trong trình bao mongo

  2. Chuyển đổi chuỗi thành ngày tháng trong mongodb

  3. Mongo Aggregation:mảng $ group và $ project thành đối tượng để đếm

  4. Mongodb có đang chạy không?

  5. Tính giá trị trung bình của các trường trong mảng / tài liệu được nhúng