【发布时间】:2019-02-18 22:14:03
【问题描述】:
我读过this doc 和this blog,了解到我可以这样采样:
db.collection.aggregate([
{ $sample: {size: 20} },
{ $match: {"yourField": valueOrSpecifier} }
])
然后我写了我的:
db.collection.aggregate([
{"$sample": {"size": 20}},
{"$match": {"_id": {"$gt": 50, "$lt": 100}}}
])
抽取 20 个 _id 介于 50 到 100 之间的文档。
但是我得到了一个空的生成器。我检查了集合,有 49 个样本满足这个限制。
【问题讨论】:
-
为什么在
$match之后不使用$sample阶段?
标签: database python-3.x mongodb pymongo