MapKit JS Генерация токена

можно получить , чтобы получить общий размер результата без эффекта limit(), используя count(), как здесь указано: Ограничение результатов в MongoDB, но все еще получение полного счета?

Согласно документации вы можете даже контролировать, учитывается ли ограничение / разбиение на страницы при вызове count(): https://docs.mongodb.com/manual/reference/method/ cursor.count / # cursor.count

Изменить: в отличие от того, что написано в другом месте - документы четко указывают, что «Операция не выполняет запрос, а вместо этого подсчитывает результаты который будет возвращен запросом «. Который - из моего понимания - означает, что выполняется только один запрос.

Пример:

> db.createCollection("test")
{ "ok" : 1 }

> db.test.insert([{name: "first"}, {name: "second"}, {name: "third"}, 
{name: "forth"}, {name: "fifth"}])
BulkWriteResult({
    "writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 5,
    "nUpserted" : 0,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : [ ]
})

> db.test.find()
{ "_id" : ObjectId("58ff00918f5e60ff211521c5"), "name" : "first" }
{ "_id" : ObjectId("58ff00918f5e60ff211521c6"), "name" : "second" }
{ "_id" : ObjectId("58ff00918f5e60ff211521c7"), "name" : "third" }
{ "_id" : ObjectId("58ff00918f5e60ff211521c8"), "name" : "forth" }
{ "_id" : ObjectId("58ff00918f5e60ff211521c9"), "name" : "fifth" }

> db.test.count()
5

> var result = db.test.find().limit(3)
> result
{ "_id" : ObjectId("58ff00918f5e60ff211521c5"), "name" : "first" }
{ "_id" : ObjectId("58ff00918f5e60ff211521c6"), "name" : "second" }
{ "_id" : ObjectId("58ff00918f5e60ff211521c7"), "name" : "third" }

> result.count()
5 (total result size of the query without limit)

> result.count(1)
3 (result size with limit(3) taken into account)

0
задан john doe 16 January 2019 в 19:41
поделиться