mongo随机获取N条数据

mongo 命令随机抽样

db.attachment_extract_status.aggregate( [ { $sample: { size: 500 }},{$match:{extract_status:1}} ] )

mongoTemplete随机抽样

@Test
public void test_sample()  {
    Aggregation aggregation =
            Aggregation.newAggregation(
                    Aggregation.match(Criteria.where("extract_status").is(1)),
 Aggregation.sample(1000));
 AggregationResults outputTypeCount =
            mongoTemplate.aggregate(aggregation, "attachment_extract_status", JSONObject.class);
 for (Iterator iterator = outputTypeCount.iterator(); iterator.hasNext(); ) {
        System.out.println(iterator.next().getLong("content_id"));
 }
}

你可能感兴趣的:(java,mongodb)