MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tìm một số giá trị trong bộ sưu tập mongodb?

Tuyệt vời, bạn sẽ thích Mongo.

Trong ví dụ bạn đã đăng, chương trình lặp lại qua một tập hợp các kết quả. Trong vấn đề người dùng / mật khẩu, bạn mô tả những gì bạn thực sự đang cố gắng làm là lấy một tài liệu (không phải một bộ tài liệu) dựa trên một số tiêu chí.

Trên vỏ sẽ trông như thế này:

n = "login"
p = "password"

db.users.findOne({ user: n, password: p})

Lưu ý rằng tôi đang sử dụng findOne thay vì find trả về một tài liệu thay vì con trỏ cho nhiều tài liệu.

Bây giờ, hãy xem ví dụ về trình điều khiển java:

BasicDBObject query = new BasicDBObject();

query.put("i", 71);
cur = coll.find(query);

while(cur.hasNext()) {
    System.out.println(cur.next());
}

BasicDBObject tạo đối tượng truy vấn và sau đó bạn đặt các tiêu chí khác nhau cùng nhau tạo thành truy vấn của bạn.

Vì vậy, thay vì query.put("i", 71); bạn sẽ làm một cái gì đó như:

query.put("user", n)
query.put("password", p)

và ... thay vì vòng lặp while, chỉ cần sử dụng findOne thay vì find để bạn không phải lặp lại tập kết quả của 1 đối tượng (vô nghĩa).

Bạn có thể đọc thêm về findOne () tại đây .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo:truy vấn theo khóa sâu một cấp

  2. Tại sao điều này đang chờ đợi bên ngoài chức năng không đồng bộ hoạt động?

  3. Làm cách nào để trả về phần tử mà tôi đang tìm kiếm bên trong một mảng lồng nhau?

  4. CRUD nodejs / express server:app.put req.body trống

  5. Mongoose:không chèn nếu phần tử đã được lưu trữ