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

Dapatkan skrip yang dihasilkan di driver MongoDB C#

EDIT:Pada versi 2.0.1 driver FindFluent objek yang dikembalikan dari IMongoCollection.Find memiliki ToString yang sesuai yang mencakup filter, tetapi juga proyeksi, pengurutan, dan sebagainya (jika relevan).

Jadi, untuk ini:

var findFluent = collection.
    Find(x => hashValues.Contains(x.UrlHash) && x.ProductTopic == topicId,
        new FindOptions {MaxTime = TimeSpan.FromSeconds(1)}).
    Project(x => x.UrlHash).
    Sort(Builders<ProductMapping>.Sort.Descending(x => x.ProductTopic)).
    Skip(6).
    Limit(7);

Console.WriteLine(findFluent);

Outputnya adalah:

find({ "UrlHash" : { "$in" : [4, 5, 6, 7, 8] }, "ProductTopic" : 200 }, { "UrlHash" : 1, "_id" : 0 }).
sort({ "ProductTopic" : -1 }).
skip(6).
limit(7).
maxTime(1000)

Nah, Anda sudah tahu bahwa Anda sedang melakukan pencarian, jadi saya berasumsi Anda ingin tahu seperti apa kueri itu.

Anda dapat melakukannya dengan mudah langsung dari kode Anda menggunakan IFindFluent.Filter :

BsonDocument filterDocument = findFluent.Filter.Render(
    collection.DocumentSerializer,
    collection.Settings.SerializerRegistry);

Console.WriteLine(filterDocument);

Output dalam kasus Anda (tergantung pada hashValues dan topicId tentu saja):

{ "UrlHash" : { "$in" : [4, 5, 6, 7, 8, 9] }, "ProductTopic" : 200 }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara menggunakan janji luwak - luwak

  2. Java, MongoDB:Bagaimana cara memperbarui setiap objek sambil mengulangi koleksi besar?

  3. Memahami Indeks MongoDB

  4. 'Gagal memutuskan tautan kesalahan file soket di MongoDB 3.0

  5. Dapatkan nilai sebagai array elemen setelah $lookup