0

できます

db.find({'node_type': {'$regex':'^meta-'}}).sort("id", pymongo.DESCENDING)

find遅延反復子を返し、その場で変更すると仮定sortし、反復子が使用されない限り、データはフェッチされません。

find_oneしかし、並べ替えパラメーターで使用したいです。この場合、最も高い ID を持つドキュメントを取得します。このニーズの正しい使い方は何ですか?

4

2 に答える 2

0

シンプルな.limit(1)

db.find({'node_type': {'$regex':'^meta-'}}).limit(1).sort("_id", -1)

また

db.find({'node_type': {'$regex':'^meta-'}}, limit=1).sort("_id", -1)
于 2013-11-18T20:45:15.240 に答える
0

ドキュメントを直接 (またはなし) 返すfind_oneため、並べ替えでは使用できません。find_oneしたがって、集約フレームワークと一緒に使用することも、使用することもできますfindsort

db.collection.aggregate([
    {$match: {node_type: {$regex: '^meta-'}}},
    {$sort: {id: -1}},
    {$limit: 1}
]);
于 2013-11-17T18:08:09.433 に答える