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

Làm cách nào để tạo $ hoặc truy vấn cho MongoDB bằng trình điều khiển Java?

Bạn nói đúng rằng "mặc định" để chỉ định nhiều trường trong một truy vấn là mỗi trường đóng vai trò như một bộ lọc có điều kiện và do đó là một phép toán AND.

Bạn có thể thực hiện các truy vấn MongoDB với mệnh đề OR bằng cách sử dụng $ hoặc toán hạng có cú pháp sau:

db.col.find({$or:[clause1, clause2]})

Trong đó mỗi mệnh đề có thể là một truy vấn. $ hoặc không nhất thiết phải là toán hạng cấp cao nhất nhưng nếu là MongoDB có thể sử dụng một chỉ mục cho mỗi mệnh đề riêng biệt.

Trong ví dụ của bạn, bạn muốn kết thúc với truy vấn này:

db.col.find({$or:[{"post_title", regex}, {"post_description", regex}]});  

Có thể xây dựng trong Java thông qua:

DBObject clause1 = new BasicDBObject("post_title", regex);  
DBObject clause2 = new BasicDBObject("post_description", regex);    
BasicDBList or = new BasicDBList();
or.add(clause1);
or.add(clause2);
DBObject query = new BasicDBObject("$or", or);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. nút js mongodb xóa khóa lỗi $ lte không được bắt đầu bằng '$'

  2. Bộ bản sao MongoDB với xác thực mật khẩu đơn giản

  3. MongoDB $ ceil

  4. Chọn các trường lồng nhau trong mongo db

  5. Xóa các bản sao khỏi cơ sở dữ liệu MongoDB 4.2