.find() return MongoDB 文件的顺序是什么?

In what order does .find() return MongoDB documents?

我想知道是否有某种 "order" 类型的 MongoDB 文档在这样查询时返回:

collection.find()

鉴于collection不变,它总是一样吗? MongoDB 有某种顺序吗?有一个空查询,所以它只会检索任何文档。 我问是因为这是为了分类。我想检索一堆文档来训练模型。测试集不能包含来自同一组的文档,所以我这样做:

trainset = collection.find().limit(train_set_size)
testset = collection.find().skip(train_set_size).limit(test_set_size)

所以两组绝对没有重叠。

有什么想法吗?

谢谢!

我认为collection.find()return基于id。在mongodb ObjectId是基于time.So应该是LIFO(后进先出)。所以排序是基于time

在你的集合中,不应有重叠

除非您指定特定的顺序,否则您不能依赖返回结果的顺序。通常,结果按找到的顺序返回,这可能与插入顺序或所用索引的顺序一致。