Trước tiên, mình sẽ chèn trước 1 số tài liệu sau vào bộ sưu tập package stackjava.com.mongodb; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class FindAll { public static void main(String[] args) { MongoClient mongoClient = new MongoClient("localhost", 27017); MongoDatabase database = mongoClient.getDatabase("stackjava"); MongoCollection<Document> collection = database.getCollection("player"); FindIterable<Document> iterDoc = collection.find(); Iterator<Document> it = iterDoc.iterator(); System.out.println("--------------- All Player ------------------"); while (it.hasNext()) { System.out.println(it.next()); } mongoClient.close(); } }0 của cơ sở dữ liệu package stackjava.com.mongodb; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class FindAll { public static void main(String[] args) { MongoClient mongoClient = new MongoClient("localhost", 27017); MongoDatabase database = mongoClient.getDatabase("stackjava"); MongoCollection<Document> collection = database.getCollection("player"); FindIterable<Document> iterDoc = collection.find(); Iterator<Document> it = iterDoc.iterator(); System.out.println("--------------- All Player ------------------"); while (it.hasNext()) { System.out.println(it.next()); } mongoClient.close(); } }1 và sẽ tiến hành tìm kiếm, chọn trên cơ sở dữ liệu này use stackjava db.player.insert([ {'_id':'1', 'name':'neymar', 'country':'brazil', 'age':25}, {'_id':'2', 'name':'hazard', 'country':'belgium', 'age':25}, {'_id':'3', 'name':'mbappe', 'country':'france', 'age':18}, {'_id':'4', 'name':'modric', 'country':'croatia', 'age':30}, {'_id':'5', 'name':'ronaldo', 'country':'portugal', 'age':33}, {'_id':'6', 'name':'messi', 'country':'argentina', 'age':31}, {'_id':'7', 'name':'icardi', 'country':'argentina', 'age':25}, {'_id':'8', 'name':'griezmann', 'country':'france', 'age':28} ]) Tìm tất cả các bản ghi trong bộ sưu tập package stackjava.com.mongodb; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class FindAll { public static void main(String[] args) { MongoClient mongoClient = new MongoClient("localhost", 27017); MongoDatabase database = mongoClient.getDatabase("stackjava"); MongoCollection<Document> collection = database.getCollection("player"); FindIterable<Document> iterDoc = collection.find(); Iterator<Document> it = iterDoc.iterator(); System.out.println("--------------- All Player ------------------"); while (it.hasNext()) { System.out.println(it.next()); } mongoClient.close(); } }0 package stackjava.com.mongodb; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class FindAll { public static void main(String[] args) { MongoClient mongoClient = new MongoClient("localhost", 27017); MongoDatabase database = mongoClient.getDatabase("stackjava"); MongoCollection<Document> collection = database.getCollection("player"); FindIterable<Document> iterDoc = collection.find(); Iterator<Document> it = iterDoc.iterator(); System.out.println("--------------- All Player ------------------"); while (it.hasNext()) { System.out.println(it.next()); } mongoClient.close(); } } To find document MongoDB by Java, we used method use stackjava db.player.insert([ {'_id':'1', 'name':'neymar', 'country':'brazil', 'age':25}, {'_id':'2', 'name':'hazard', 'country':'belgium', 'age':25}, {'_id':'3', 'name':'mbappe', 'country':'france', 'age':18}, {'_id':'4', 'name':'modric', 'country':'croatia', 'age':30}, {'_id':'5', 'name':'ronaldo', 'country':'portugal', 'age':33}, {'_id':'6', 'name':'messi', 'country':'argentina', 'age':31}, {'_id':'7', 'name':'icardi', 'country':'argentina', 'age':25}, {'_id':'8', 'name':'griezmann', 'country':'france', 'age':28} ])1 Kết quả --------------- All Player ------------------ Document{{_id=1, name=neymar, country=brazil, age=25.0}} Document{{_id=2, name=hazard, country=belgium, age=25.0}} Document{{_id=3, name=mbappe, country=france, age=18.0}} Document{{_id=4, name=modric, country=croatia, age=30.0}} Document{{_id=5, name=ronaldo, country=portugal, age=33.0}} Document{{_id=6, name=messi, country=argentina, age=31.0}} Document{{_id=7, name=icardi, country=argentina, age=25.0}} Document{{_id=8, name=griezmann, country=france, age=28.0}} Tìm tất cả các bản ghi trong bộ sưu tập package stackjava.com.mongodb; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class FindAll { public static void main(String[] args) { MongoClient mongoClient = new MongoClient("localhost", 27017); MongoDatabase database = mongoClient.getDatabase("stackjava"); MongoCollection<Document> collection = database.getCollection("player"); FindIterable<Document> iterDoc = collection.find(); Iterator<Document> it = iterDoc.iterator(); System.out.println("--------------- All Player ------------------"); while (it.hasNext()) { System.out.println(it.next()); } mongoClient.close(); } }0 theo điều kiện Để bổ sung điều kiện tìm kiếm, ta sẽ truyền tham số và phương thức use stackjava db.player.insert([ {'_id':'1', 'name':'neymar', 'country':'brazil', 'age':25}, {'_id':'2', 'name':'hazard', 'country':'belgium', 'age':25}, {'_id':'3', 'name':'mbappe', 'country':'france', 'age':18}, {'_id':'4', 'name':'modric', 'country':'croatia', 'age':30}, {'_id':'5', 'name':'ronaldo', 'country':'portugal', 'age':33}, {'_id':'6', 'name':'messi', 'country':'argentina', 'age':31}, {'_id':'7', 'name':'icardi', 'country':'argentina', 'age':25}, {'_id':'8', 'name':'griezmann', 'country':'france', 'age':28} ])1 Ví dụ 1. Tìm bằng nhau (So sánh bằng) Tìm kiếm các tài liệu có quốc gia = france package stackjava.com.mongodb; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; public class FindEq { public static void main(String[] args) { MongoClient mongoClient = new MongoClient("localhost", 27017); MongoDatabase database = mongoClient.getDatabase("stackjava"); MongoCollection<Document> collection = database.getCollection("player"); FindIterable<Document> iterDoc = collection.find(Filters.eq("country", "france")); Iterator<Document> it = iterDoc.iterator(); System.out.println("--------------- Find Player WHERE country = france --------------"); while (it.hasNext()) { System.out.println(it.next()); } mongoClient.close(); } } Kết quả --------------- Find Player WHERE country = france -------------- Document{{_id=3, name=mbappe, country=france, age=18.0}} Document{{_id=8, name=griezmann, country=france, age=28.0}} Ví dụ 2. Tìm và. like, $lt, $le… (So sánh lớn hơn, nhỏ hơn, thích) Tìm cầu thủ có tuổi <= 25 và trong tên có chứa ‘i’ package stackjava.com.mongodb; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; public class FindAnd { public static void main(String[] args) { MongoClient mongoClient = new MongoClient("localhost", 27017); MongoDatabase database = mongoClient.getDatabase("stackjava"); MongoCollection<Document> collection = database.getCollection("player"); FindIterable<Document> iterDoc = collection.find( Filters.and(Filters.lte("age", 25), Filters.regex("name", "i"))); Iterator<Document> it = iterDoc.iterator(); System.out.println("----------- SELECT player WHERE name <= 25 AND name Like '%i%' --------"); while (it.hasNext()) { System.out.println(it.next()); } mongoClient.close(); } } To have many condition ta used use stackjava db.player.insert([ {'_id':'1', 'name':'neymar', 'country':'brazil', 'age':25}, {'_id':'2', 'name':'hazard', 'country':'belgium', 'age':25}, {'_id':'3', 'name':'mbappe', 'country':'france', 'age':18}, {'_id':'4', 'name':'modric', 'country':'croatia', 'age':30}, {'_id':'5', 'name':'ronaldo', 'country':'portugal', 'age':33}, {'_id':'6', 'name':'messi', 'country':'argentina', 'age':31}, {'_id':'7', 'name':'icardi', 'country':'argentina', 'age':25}, {'_id':'8', 'name':'griezmann', 'country':'france', 'age':28} ])4 or use stackjava db.player.insert([ {'_id':'1', 'name':'neymar', 'country':'brazil', 'age':25}, {'_id':'2', 'name':'hazard', 'country':'belgium', 'age':25}, {'_id':'3', 'name':'mbappe', 'country':'france', 'age':18}, {'_id':'4', 'name':'modric', 'country':'croatia', 'age':30}, {'_id':'5', 'name':'ronaldo', 'country':'portugal', 'age':33}, {'_id':'6', 'name':'messi', 'country':'argentina', 'age':31}, {'_id':'7', 'name':'icardi', 'country':'argentina', 'age':25}, {'_id':'8', 'name':'griezmann', 'country':'france', 'age':28} ])5 bộ lọc. lte used to so sánh nhỏ hơn hoặc bằng bộ lọc. regex used to so sánh theo regex (like) Bộ lọc tương tự. gt, Bộ lọc. gte, Bộ lọc. in… used to find search in array, large better or equal, large better… |