mongo查询过滤条件java实例($and,$or,$eq,$ne)

来源:互联网 发布:VB 十六进制转rgb 编辑:程序博客网 时间:2024/05/17 09:04

查询账号下没有org_id ,且对应的company字段也为空,且手机号码是存在的用户


BasicDBObject submitQuery = new BasicDBObject();

submitQuery.put("$and", getQuery());
submitQuery.put("$and", getMobileQuery());


private static List<DBObject> getQuery(){
List<DBObject> list = Lists.newArrayList();

List<DBObject> orgList = Lists.newArrayList();
orgList.add(new BasicDBObject("org_id", new BasicDBObject("$eq", null)));
orgList.add(new BasicDBObject("org_id", new BasicDBObject("$eq", "")));
orgList.add(new BasicDBObject("org_id", new BasicDBObject("$eq", 0L)));

List<DBObject> companyList = Lists.newArrayList();
companyList.add(new BasicDBObject("company", new BasicDBObject("$eq", null)));
companyList.add(new BasicDBObject("company", new BasicDBObject("$eq", "")));


list.add(new BasicDBObject("$or", orgList));
list.add(new BasicDBObject("$or", companyList));
return list;
}


private static List<DBObject> getMobileQuery(){
List<DBObject> phoneList = Lists.newArrayList();
phoneList.add(new BasicDBObject("mobile", new BasicDBObject("$ne", null)));
phoneList.add(new BasicDBObject("mobile", new BasicDBObject("$ne", "")));
return phoneList;
}

原创粉丝点击