Tôi sử dụng Dữ liệu mùa xuân MongoDB.
Tôi muốn các hồ sơ giữa hai ngày. Truy vấn MongoDB sau đây hoạt động:
db.posts.find[{startDate: {$gte: start, $lt: end}}];
Bản dịch mã đối tượng truy vấn dữ liệu mùa xuân đã cố gắng không hoạt động:
Query query = new Query[];
query.addCriteria[Criteria.where["startDate"].gte[startDate]
.and["startDate"].lt[endDate]];
Thứ tự chính xác của các cuộc gọi phương thức để xây dựng truy vấn Mongo mà tôi cần là gì?
Patrick m
10.3k9 Huy hiệu vàng62 Huy hiệu bạc101 Huy hiệu Đồng9 gold badges62 silver badges101 bronze badges
Hỏi ngày 25 tháng 4 năm 2012 lúc 7:18Apr 25, 2012 at 7:18
1
Không bao gồm phần 'và ["startDate"]' trong tiêu chí của bạn.and["startDate"]' part in your criteria.
Thay vì :
query.addCriteria[Criteria.where["startDate"].gte[startDate].and["startDate"].lt[endDate]];
Bạn nên sử dụng:
query.addCriteria[Criteria.where["startDate"].gte[startDate].lt[endDate]];
Khi bạn bao gồm phần 'và ["startdate"]', Mongo xem đó là hai mục khác nhau trên cùng một thuộc tính.
Đã trả lời ngày 29 tháng 10 năm 2012 lúc 16:42Oct 29, 2012 at 16:42
Yohan Liyanageyohan LiyanageYohan Liyanage
6.7403 Huy hiệu vàng45 Huy hiệu bạc63 Huy hiệu Đồng3 gold badges45 silver badges63 bronze badges
4
Tham khảo ở đây
Query query = new Query[
Criteria.where["ip"].is[ip]
.andOperator[
Criteria.where["createdDate"].lt[endDate],
Criteria.where["createdDate"].gte[startDate]
]
];
jhhoff02
1.1391 Huy hiệu vàng16 Huy hiệu bạc24 Huy hiệu đồng1 gold badge16 silver badges24 bronze badges
Đã trả lời ngày 30 tháng 1 năm 2017 lúc 19:18Jan 30, 2017 at 19:18
Tôi đã phải tìm ngày giữa trên trường
Query query = new Query[];
query.addCriteria[Criteria.where["startDate"].gte[startDate]
.and["startDate"].lt[endDate]];
2 và đây là cách tôi đã làm điều đó: Criteria publishedDateCriteria = Criteria
.where["publishedDateObject"].gte[psDate]
.lte[peDate];
Query query = new Query[publishedDateCriteria];
mongoTemplate.find[query,
MyDocumentObject.class]];
Đã trả lời ngày 27 tháng 9 năm 2015 lúc 9:39Sep 27, 2015 at 9:39
James Jithinjames JithinJames Jithin
9.8524 huy hiệu vàng35 huy hiệu bạc51 huy hiệu đồng4 gold badges35 silver badges51 bronze badges
2
Tôi đã thích điều này
public interface PolicyRepository extends MongoRepository {
@Query["{'lastDate':{$gt:?0,$lt:?1}}"]
public List findAllPolicies[Date today,Date somedate];
}
Karthikeyan
2.5164 Huy hiệu vàng28 Huy hiệu bạc49 Huy hiệu đồng4 gold badges28 silver badges49 bronze badges
Đã trả lời ngày 29 tháng 8 năm 2019 lúc 9:29Aug 29, 2019 at 9:29
Điều này hoạt động trên phiên bản 2.7.2 của trình điều khiển Java
DBCollection coll = db.getCollection["posts"];
BasicDBObject date = new BasicDBObject[];
date.append["$gte", new Date[startDate]];
date.append["$lte", new Date[endDate]];
DBObject query = new BasicDBObject[];
query.put["date", date];
DBCursor cursor = coll.find[query];
Ngoài ra, đối với bản ghi, bạn có "startDate" cho cả các tham số GTE và LTE.
Đã trả lời ngày 1 tháng 5 năm 2012 lúc 9:14May 1, 2012 at 9:14
0
Nó hoạt động, anh ta là một số mã mẫu:
Criteria criteria = Criteria.where["pt"].gte[startDate]
.andOperator[Criteria.where["pt"].lt[endDate]];
Patrick m
10.3k9 Huy hiệu vàng62 Huy hiệu bạc101 Huy hiệu Đồng9 gold badges62 silver badges101 bronze badges
Hỏi ngày 25 tháng 4 năm 2012 lúc 7:18Aug 31, 2013 at 13:39
1
if [metaData.getToValue[] == null]{
dynamicCriteria = Criteria.where["metaData.key"].is[metaData.getKey[]].andOperator[Criteria.where["metaData.value"].is[metaData.getFromValue[]]];
}else {
dynamicCriteria = Criteria.where["metaData.key"].is[metaData.getKey[]].orOperator[Criteria.where["metaData.value"].gte[metaData.getFromValue[]].lt[metaData.getToValue[]]];
}
Không bao gồm phần 'và ["startDate"]' trong tiêu chí của bạn.Mar 4, 2020 at 11:46
Thay vì :
Query query = new Query[];
query.addCriteria[Criteria.where["startDate"].gte[startDate]
.and["startDate"].lt[endDate]];
0Bạn nên sử dụng:
Khi bạn bao gồm phần 'và ["startdate"]', Mongo xem đó là hai mục khác nhau trên cùng một thuộc tính.
Đã trả lời ngày 29 tháng 10 năm 2012 lúc 16:42Nov 17, 2021 at 9:21
Yohan Liyanageyohan Liyanage
Query query = new Query[];
query.addCriteria[Criteria.where["startDate"].gte[startDate]
.and["startDate"].lt[endDate]];
1
6.7403 Huy hiệu vàng45 Huy hiệu bạc63 Huy hiệu ĐồngSep 5 at 9:40
1
Tham khảo ở đâyMay 29 at 12:28
1