可能這是一個愚蠢的問題,但無論如何,我有疑問。爲什麼MongoDB是回到1760個文檔時,我有:PHP - mongodb客戶端 - 跳過並限制使用
請看一看這個查詢:
db.posts.find({ "blog": "myblog",
"post_author_id": 649,
"shares.total": { "$gt": 0 } })
.limit(10)
.skip(1750)
.sort({ "shares.total": -1, "tstamp_published": -1 });
其實我看到到MongoDB的探查此報告:
mongos> db.system.profile.find({ nreturned : { $gt : 1000 } }).limit(10).sort({ millis : 1 }).pretty();
{
"ts" : ISODate("2013-04-04T13:28:08.906Z"),
"op" : "query",
"ns" : "mydb.posts",
"query" : {
"$query" : {
"blog" : "myblog",
"post_author_id" : 649,
"shares.total" : {
"$gt" : 0
}
},
"$orderby" : {
"shares.total" : -1,
"tstamp_published" : -1
}
},
"ntoreturn" : 1760,
"nscanned" : 12242,
"scanAndOrder" : true,
"nreturned" : 1760,
"responseLength" : 7030522,
"millis" : 126,
"client" : "10.0.232.69",
"user" : ""
}
現在的問題是明確要求跳過1750?
這是我當前的Mongodb版本,在羣集/分片中。
mongos> db.runCommand("buildInfo")
{
"version" : "2.0.2",
"gitVersion" : "514b122d308928517f5841888ceaa4246a7f18e3",
"sysInfo" : "Linux bs-linux64.10gen.cc 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_41",
"versionArray" : [
2,
0,
2,
0
],
"bits" : 64,
"debug" : false,
"maxBsonObjectSize" : 16777216,
"ok" : 1
}
我不能使用Datetime,因爲它是一個博客。當新職位發佈時,所有現有職位,其Datetime只是「轉移」。 Evene如果我直接去第200頁我不知道第一篇文章的日期時間。 – freedev 2013-04-05 15:23:39