[英]Java - MongoDB best way to get first result with multiple queries
我正在嘗試基於多個字段獲取第一個文檔。 我可以通過以下方式獲得第一個文檔:
BasicDBObject query = new BasicDBObject("user", userId);
paymentsCollection.find(query).first();
這將首先返回與 ID 匹配的用戶。 但我想要實現的是它基於多種事物返回第一個文檔,例如:
BasicDBObject query = new BasicDBObject("lastUpdated", new BasicDBObject("$gt", date30DaysAgo));
BasicDBObject query2 = new BasicDBObject("status", "EXPIRED");
BasicDBObject query3 = new BasicDBObject("user", userId);
我將如何查詢它們 3 個不同的對象?
以下是文檔的示例:
"_id": {
"$oid": "5fd7b2d90d9f9a1722956029"
},
"uuid": "92bb9960-3e3c-11eb-94e9-837449b33b23",
"dateCreated": {
"$date": "2020-12-14T18:45:44.566Z"
},
"lastUpdated": {
"$date": "2020-12-14T19:45:50.715Z"
},
"status": "EXPIRED",
"realValue": 1,
您可以通過使用append來做到這一點,它將字段添加到BasicDBObject
。
它在您的案例中的用法可能如下所示:
BasicDBObject query = new BasicDBObject("user", userId)
.append("status", "EXPIRED")
.append("lastUpdated", new BasicDBObject("$gt", date30DaysAgo));
paymentsCollection.find(query).first();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.