MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Terjemahkan Queryable kembali ke IMongoQuery

Jawaban yang diedit:

Saya menyadari bahwa sudah ada cara resmi untuk mendapatkan kueri Mongo dari kueri LINQ (seharusnya saya tahu!). Anda harus menurunkan IQueryable ke MongoQueryable untuk mendapatkan akses ke metode GetMongoQuery:

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

Jawaban asli:

Saat ini tidak ada cara yang didukung secara resmi untuk melakukan itu, tetapi dalam waktu dekat kami bermaksud untuk mempermudah pencarian kueri MongoDB yang dipetakan ke kueri LINQ.

Dalam jangka pendek, Anda dapat menggunakan metode internal tidak berdokumen berikut untuk mengetahui kueri MongoDB yang dipetakan kueri LINQ:

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

Namun pada titik tertentu Anda mungkin perlu beralih dari metode tidak berdokumen ini ke metode yang didukung secara resmi (metode tidak berdokumen mungkin berubah atau diganti namanya di masa mendatang).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kueri agregasi rata-rata Mongo tanpa grup

  2. Indeks subdokumen dalam mongo

  3. MongoDB tidak membuat database di shell

  4. Mongo:temukan item yang tidak memiliki bidang tertentu

  5. Pembaruan MongoDB Banyak ()