できます
db.find({'node_type': {'$regex':'^meta-'}}).sort("id", pymongo.DESCENDING)
find
遅延反復子を返し、その場で変更すると仮定sort
し、反復子が使用されない限り、データはフェッチされません。
find_one
しかし、並べ替えパラメーターで使用したいです。この場合、最も高い ID を持つドキュメントを取得します。このニーズの正しい使い方は何ですか?
できます
db.find({'node_type': {'$regex':'^meta-'}}).sort("id", pymongo.DESCENDING)
find
遅延反復子を返し、その場で変更すると仮定sort
し、反復子が使用されない限り、データはフェッチされません。
find_one
しかし、並べ替えパラメーターで使用したいです。この場合、最も高い ID を持つドキュメントを取得します。このニーズの正しい使い方は何ですか?
シンプルな.limit(1)
db.find({'node_type': {'$regex':'^meta-'}}).limit(1).sort("_id", -1)
また
db.find({'node_type': {'$regex':'^meta-'}}, limit=1).sort("_id", -1)
ドキュメントを直接 (またはなし) 返すfind_one
ため、並べ替えでは使用できません。find_one
したがって、集約フレームワークと一緒に使用することも、使用することもできますfind
。sort
db.collection.aggregate([
{$match: {node_type: {$regex: '^meta-'}}},
{$sort: {id: -1}},
{$limit: 1}
]);