java查询mongodb,某个查询条件是一个数组,怎么实现
{ "_id" : ObjectId("5a5ec3cd50a8xxxxxxdb82"), "date" : "2018-01-17 11:32:29", "type" : "A", "id" : "xxx001"}
{ "_id" : ObjectId("5a5ec3cd50a8xxxxxxdb82"), "date" : "2018-01-17 11:32:29", "type" : "A", "id" : "xxx001"}
{ "_id" : ObjectId("5a5ec3cd50a8xxxxxxdb82"), "date" : "2018-01-17 11:32:29", "type" : "B", "id" : "xxx001"}
{ "_id" : ObjectId("5a5ec3cd50a8xxxxxxdb82"), "date" : "2018-01-17 11:32:29", "type" : "C", "id" : "xxx001"}
{ "_id" : ObjectId("5a5ec3cd50a8xxxxxxdb82"), "date" : "2018-01-17 11:32:29", "type" : "C", "id" : "xxx001"}
{ "_id" : ObjectId("5a5ec3cd50a8xxxxxxdb82"), "date" : "2018-01-17 11:32:29", "type" : "C", "id" : "xxx001"}
{ "_id" : ObjectId("5a5ec3cd50a8xxxxxxdb82"), "date" : "2018-01-17 11:32:29", "type" : "A", "id" : "xxx002"}
根据id和type去查询,其中type可能多个也可能没有,只用id查询:
比如:
id=xxx001的所有记录-这个好弄
id=xxx001且type=A的所有记录-这个也好弄
id=xxx001且type=A和B的所有记录-这个怎么实现
id=xxx001且type=C和B的所有记录-这个怎么实现
现在用下面的方式,但是type是多个条件就不管用了,只能一个
data.put("id", "xxx001");
data.put("type", "A"); //这里只能填一个,不好多个
basicDBObject = new BasicDBObject(data);
FindIterable<Document> iter = document.find(basicDBObject);
求解各位大神,java实现
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Google一下都有现成的:MongoDB Java: Finding objects in Mongo using QueryBuilder $in operator returns nothing
我注意到你的
_id
全是一样的,所以你是不是已经使用$unwind
把一个数组展开了?