sql >> Database teknologi >  >> NoSQL >> MongoDB

Få genereret script i MongoDB C# driver

EDIT:Fra og med 2.0.1-versionen af ​​driveren er FindFluent objekt returneret fra IMongoCollection.Find har en passende ToString der inkluderer filteret, men også en projektion, sortering og så videre (hvis relevant).

Så til dette:

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

Outputtet ville være:

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

Nå, du ved allerede, at du laver et fund, så jeg antager, at du gerne vil vide, hvordan forespørgslen ser ud.

Du kan nemt gøre det direkte fra din kode ved at bruge IFindFluent.Filter :

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

Console.WriteLine(filterDocument);

Outputtet i dit tilfælde (afhænger af hashValues og topicId selvfølgelig):

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


  1. Fjern et felt fra alle elementer i array i mongodb

  2. Visuel styring af MongoDB-dokumenter og samlinger

  3. Docker compose spring boot redis forbindelsesproblem

  4. Hvordan vælger man et enkelt felt til alle dokumenter i en MongoDB-samling?