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

Truy vấn MongoDB cho nhiều ObjectID trong Mảng

Bạn có thể sử dụng kết hợp findOne() find() các phương thức con trỏ cùng với JavaScript gốc map để đầu tiên lấy id của nhóm cho một người dùng cụ thể (sẽ là một mảng chuỗi), sau đó sử dụng hàm bản đồ để ánh xạ mảng chuỗi id của nhóm với mảng của ObjectId và cuối cùng truy vấn bộ sưu tập nhóm với mảng kết quả là $in biểu thức toán tử:

var teams = db.users.findOne({"name": "User1"}).teams;
var obj_ids = teams.map(function (item){ return ObjectId(item)});
db.teams.find({ "_id": { "$in": obj_ids } });

Đầu ra :

/* 0 */
{
    "_id" : ObjectId("5527a9493ebbe2452666c238"),
    "name" : "Team 1"
}

/* 1 */
{
    "_id" : ObjectId("5527b1be3371e3a827fa602c"),
    "name" : "Team 2"
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tại sao truy vấn cập nhật này chỉ cập nhật một bản ghi một lần

  2. Các chỉ mục MongoDB có liên tục khi khởi động lại không?

  3. Khớp ít nhất N phần tử của mảng với danh sách các điều kiện

  4. Làm cách nào để bắt đầu một cơ sở dữ liệu mongo bằng docker -omp?

  5. MongoError:không thể thực hiện các truy vấn về quản trị viên trong tập bản đồ