MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Вземете генериран скрипт в MongoDB C# драйвер

РЕДАКТИРАНЕ:От версия 2.0.1 на драйвера FindFluent обект, върнат от IMongoCollection.Find има подходящ ToString която включва филтъра, но също и проекция, сортиране и т.н. (ако е приложимо).

И така, за това:

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

Резултатът би бил:

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

Е, вече знаете, че правите намиране, така че предполагам, че искате да знаете как изглежда заявката.

Можете лесно да направите това директно от вашия код, като използвате IFindFluent.Filter :

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

Console.WriteLine(filterDocument);

Резултатът във вашия случай (зависи от hashValues и topicId разбира се):

{ "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. Използване на PouchDB с MongoDB

  2. Mongoose - използване на Populate върху масив от ObjectId

  3. Защо имаме нужда от „арбитър“ в репликацията на MongoDB?

  4. Монго подреждане по дължина на масива

  5. Проверка на връзката с MongoDB