0

5 行のコレクションがありますが、1 つを選択する必要があります。

for row in db.foo.find({},{"_id":1}).limit(1).sort("_id",-1):print row

結果:

{u'_id': 4}

ただし、カウントカーソルの場合

flag=db.foo.find({},{"_id":1},limit=1).sort("_id",-1)
print flag.count()

結果=5

結果flag=db.foo.find({},{"_id":1},limit=1).sort("_id",-1).count(): 5

なぜこれが起こるのか誰にも分かりますか?

MongoDB シェル バージョン: 2.4.4

pymongo.version '2.5.1+'

4

1 に答える 1

0

countデフォルトでは無視skipされ、 with_limit_and_skipフラグlimitを設定することでこれを変更できます。

flag = db.foo.find({}, {"_id":1}, limit=1).sort("_id", -1)
print flag.count(with_limit_and_skip=True)
于 2013-08-20T16:11:25.413 に答える