sql >> Database >  >> NoSQL >> MongoDB

Gegenereerd script in MongoDB C#-stuurprogramma ophalen

EDIT:Vanaf versie 2.0.1 van het stuurprogramma is de FindFluent object geretourneerd door IMongoCollection.Find heeft een geschikte ToString dat omvat het filter, maar ook een projectie, sortering enzovoort (indien relevant).

Dus hiervoor:

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

De uitvoer zou zijn:

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

Nou, je weet al dat je een zoekopdracht doet, dus ik neem aan dat je wilt weten hoe de zoekopdracht eruit ziet.

U kunt dat eenvoudig rechtstreeks vanuit uw code doen met behulp van IFindFluent.Filter :

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

Console.WriteLine(filterDocument);

De uitvoer in jouw geval (hangt af van hashValues en topicId natuurlijk):

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


  1. 'process.nextTick(function() { throw err; })' - Undefined is geen functie (mongodb/mongoose)

  2. De eenvoudigste manier om een ​​exemplaar van een mangoestdocument te kopiëren/klonen?

  3. Redis - Hoe de sleutel HASH en SET en ZSET zijn gerelateerd aan het opslaan van CrudRepository?

  4. hoe toegang te krijgen tot socketsessie in alle clusters