java操作mongodb——查询数据
2017-02-21 14:09
405 查看
通过find方法查询集合中的文档信息
--------------------------------------------------------
查询所有文档信息,返回FindIterable<Document>
我们可以通过FindIterable的forEach方法取得document信息
MongoClient mongoClient = new MongoClient();
MongoDatabase db = mongoClient.getDatabase("test");
MongoCollection<Document> doc = db.getCollection("text");
FindIterable<Document> iter = doc.find();
iter.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
--------------------------------------------------------------------
field为查询字段,value为查询值,也可以通过过滤器Filters,Filters提供了一系列查询条件的静态方法
FindIterable<Document> iter = doc.find(new Document("name","张三"));
// 或者 FindIterable<Document> iter = doc.find(new Document("age",new Document("$eq",24)));
//或者 FindIterable<Document> iter = doc.find(Filters.eq("name", "张三"));
iter.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
// FindIterable<Document> iter = doc.find(new Document("age",new Document("$ne",24)));
FindIterable<Document> iter = doc.find(Filters.ne("name", "张三"));
iter.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
FindIterable<Document> iter = doc.find(new Document("age",new Document("$gt",22)));
//或者 FindIterable<Document> iter = doc.find(Filters.gt("age",22));
iter.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
用法同上,符号为$gte
FindIterable<Document> iter1 = doc.find(new Document("age",new Document("$lt",22)));
//或者 FindIterable<Document> iter = doc.find(Filters.lt("age",22));
iter1.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
用法同上,符号为$lte
FindIterable<Document> iter1 = doc.find(new Document("age",20).append("name", "张三"));
//或者 FindIterable<Document> iter1 = doc.find(Filters.and(Filters.eq("name", "张三"),Filters.lt("age", 30)));
iter1.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
List<Document> list = new ArrayList<Document>();
list.add(new Document("name","张三"));
list.add(new Document("age",24));
FindIterable<Document> iter1 = doc.find(new Document("$or", list));
// FindIterable<Document> iter1 = doc.find(Filters.and(Filters.eq("name", "张三"),Filters.lt("age", 30)));
iter1.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
// List<String> list = new ArrayList<String>();
// list.add("张三");
// list.add("李四");
// FindIterable<Document> iter = doc.find(new Document("name",new Document("$in",list)));
FindIterable<Document> iter = doc.find(Filters.in("name", "张三","李四","王五"));
iter.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
用法同上,符号为$nin
FindIterable<Document> iter1 = doc.find().sort(new Document("age",1).append("phone", 1));
//FindIterable<Document> iter1 = doc.find().sort(Sorts.orderBy(Sorts.ascending("age"),Sorts.descending("phone")));
iter1.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
--------------------------------------------------------
find()
查询所有文档信息,返回FindIterable<Document>我们可以通过FindIterable的forEach方法取得document信息
MongoClient mongoClient = new MongoClient();
MongoDatabase db = mongoClient.getDatabase("test");
MongoCollection<Document> doc = db.getCollection("text");
FindIterable<Document> iter = doc.find();
iter.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
--------------------------------------------------------------------
条件查询
new Document( <field>, <value> )
field为查询字段,value为查询值,也可以通过过滤器Filters,Filters提供了一系列查询条件的静态方法
相等 — =
FindIterable<Document> iter = doc.find(new Document("name","张三"));// 或者 FindIterable<Document> iter = doc.find(new Document("age",new Document("$eq",24)));
//或者 FindIterable<Document> iter = doc.find(Filters.eq("name", "张三"));
iter.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
不等 — !=
// FindIterable<Document> iter = doc.find(new Document("age",new Document("$ne",24)));FindIterable<Document> iter = doc.find(Filters.ne("name", "张三"));
iter.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
大于 — >
FindIterable<Document> iter = doc.find(new Document("age",new Document("$gt",22)));//或者 FindIterable<Document> iter = doc.find(Filters.gt("age",22));
iter.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
大于等于 — >=
用法同上,符号为$gte
小于 — <
FindIterable<Document> iter1 = doc.find(new Document("age",new Document("$lt",22)));//或者 FindIterable<Document> iter = doc.find(Filters.lt("age",22));
iter1.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
小于等于 — <=
用法同上,符号为$lte
且 — and
FindIterable<Document> iter1 = doc.find(new Document("age",20).append("name", "张三"));//或者 FindIterable<Document> iter1 = doc.find(Filters.and(Filters.eq("name", "张三"),Filters.lt("age", 30)));
iter1.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
或者 — or
List<Document> list = new ArrayList<Document>();list.add(new Document("name","张三"));
list.add(new Document("age",24));
FindIterable<Document> iter1 = doc.find(new Document("$or", list));
// FindIterable<Document> iter1 = doc.find(Filters.and(Filters.eq("name", "张三"),Filters.lt("age", 30)));
iter1.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
存在 — in
// List<String> list = new ArrayList<String>();// list.add("张三");
// list.add("李四");
// FindIterable<Document> iter = doc.find(new Document("name",new Document("$in",list)));
FindIterable<Document> iter = doc.find(Filters.in("name", "张三","李四","王五"));
iter.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
不存在 — not in
用法同上,符号为$nin
排序 — sort
FindIterable<Document> iter1 = doc.find().sort(new Document("age",1).append("phone", 1));//FindIterable<Document> iter1 = doc.find().sort(Sorts.orderBy(Sorts.ascending("age"),Sorts.descending("phone")));
iter1.forEach(new Block<Document>() {
public void apply(Document _doc) {
System.out.println(_doc.toJson());
}
});
相关文章推荐
- java操作mongodb——查询数据
- java操作mongodb——查询数据
- java操作mongodb——查询数据
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- JavaCrazyer Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- java 操作mongodb查询条件的常用设置
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- MongoDB下的查询操作(与上篇文章java api查询操作对应)
- mongodb- Java API 查询操作
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- 使用C#对MongoDB中的数据进行查询,修改等操作
- elasticsearch__2__java操作之数据搜索查询