Ví dụ về java basicdbobject mongodb

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}
])

Ví dụ về java basicdbobject mongodb

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…