@Test
public void query() {
//查詢所有
//queryAll();
//查詢id = 4de73f7acd812d61b4626a77
print("find id = 4de73f7acd812d61b4626a77: " + users.find(new BasicDBObject("_id", new ObjectId("4de73f7acd812d61b4626a77"))).toArray());
//查詢age = 24
print("find age = 24: " + users.find(new BasicDBObject("age", 24)).toArray());
//查詢age >= 24
print("find age >= 24: " + users.find(new BasicDBObject("age", new BasicDBObject("$gte", 24))).toArray());
print("find age <= 24: " + users.find(new BasicDBObject("age", new BasicDBObject("$lte", 24))).toArray());
print("查詢age!=25:" + users.find(new BasicDBObject("age", new BasicDBObject("$ne", 25))).toArray());
print("查詢age in 25/26/27:" + users.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.IN, new int[] { 25, 26, 27 }))).toArray());
print("查詢age not in 25/26/27:" + users.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.NIN, new int[] { 25, 26, 27 }))).toArray());
print("查詢age exists 排序:" + users.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.EXISTS, true))).toArray());
print("只查詢age屬性:" + users.find(null, new BasicDBObject("age", true)).toArray());
print("只查屬性:" + users.find(null, new BasicDBObject("age", true), 0, 2).toArray());
print("只查屬性:" + users.find(null, new BasicDBObject("age", true), 0, 2, Bytes.QUERYOPTION_NOTIMEOUT).toArray());
//只查詢一條數據,多條去第一條
print("findOne: " + users.findOne());
print("findOne: " + users.findOne(new BasicDBObject("age", 26)));
print("findOne: " + users.findOne(new BasicDBObject("age", 26), new BasicDBObject("name", true)));
//查詢修改、刪除
print("findAndRemove 查詢age=25的數據,并且刪除: " + users.findAndRemove(new BasicDBObject("age", 25)));
//查詢age=26的數據,并且修改name的值為Abc
print("findAndModify: " + users.findAndModify(new BasicDBObject("age", 26), new BasicDBObject("name", "Abc")));
print("findAndModify: " + users.findAndModify(
new BasicDBObject("age", 28), //查詢age=28的數據
new BasicDBObject("name", true), //查詢name屬性
new BasicDBObject("age", true), //按照age排序
false, //是否刪除,true表示刪除
new BasicDBObject("name", "Abc"), //修改的值,將name修改成Abc
true,
true));
queryAll();
}