sql >> Databáze >  >> NoSQL >> MongoDB

Získejte vygenerovaný skript v ovladači MongoDB C#

EDIT:Od verze 2.0.1 ovladače FindFluent objekt vrácený z IMongoCollection.Find má odpovídající ToString to zahrnuje filtr, ale také projekci, řazení a tak dále (pokud je to relevantní).

Takže pro toto:

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);

Výstup by byl:

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

Dobře, už víte, že provádíte hledání, takže předpokládám, že chcete vědět, jak dotaz vypadá.

Můžete to snadno udělat přímo z kódu pomocí IFindFluent.Filter :

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

Console.WriteLine(filterDocument);

Výstup ve vašem případě (závisí na hashValues a topicId samozřejmě):

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


  1. Nejlepší způsob, jak uložit klíče Redis

  2. Jak používat vkládání hmoty Redis?

  3. je možné volat funkce lua definované v jiných skriptech lua v redis?

  4. Povolení komprese dat v MongoDB 3.0