【发布时间】:2019-07-30 11:03:31
【问题描述】:
如何使用 Mongo-DB java 驱动比较同一集合中的两个字段?我需要分批获取数据,然后在适当过滤后处理它们。下面是我正在尝试的那种代码。
MongoCollection<Document> collection = getCollection();
FindIterable<Document> documents = collection.find(
or(
lt(field1, 0),
gt(field2, field3)
)
)
.projection(Projections.fields(Projections.include(field1)))
.sort(Sorts.ascending(field1))
.batchSize(1000).noCursorTimeout(true);
documents.forEach((Block<Document>) document ->{
// remaining code
}
//Mongo Query
db.example.find( { $or:[{"field1":{$lt:0}}, {"field2":{$gt:"$field3"}}]});
【问题讨论】:
-
使用docs.mongodb.com/manual/reference/operator/query/expr比较field2和field3
标签: java spring mongodb mongodb-query bson