Computer >> Máy Tính >  >> Lập trình >> MongoDB

Truy vấn MongoDB để so khớp các tài liệu có _id nằm trong một mảng như một phần của tài liệu con?


Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo568.insertOne ({_id:101, details:[{id:101}, {id:103}]}); {"Recognition":true, "insertId":101} 

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo568.find (); 

Điều này sẽ tạo ra kết quả sau -

 {"_id":101, "details":[{"id":101}, {"id":103}]} Sau đây là truy vấn để tạo bộ sưu tập thứ hai:> db.demo569.insertOne ({_id :101, chi tiết:"John"}) {"nition ":true," insertId ":101}> db.demo569.insertOne ({_id:102, details:" Chris "}) {" Recog ":true," insertId ":102}> db.demo569.insertOne ({_id:103, chi tiết:" David "}) {"nition":true, "insertId":103} 

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo569.find (); 

Điều này sẽ tạo ra kết quả sau -

 {"_id":101, "chi tiết":"John"} {"_id":102, "chi tiết":"Chris"} {"_id":103, "chi tiết":"David"}  

Sau đây là truy vấn để so khớp các tài liệu có _id nằm trong một mảng như một phần của tài liệu con -

> db.demo569.find ({'_id':{'$ in':db.demo568.distinct ('details.id', {'_id':101})}}) 

Điều này sẽ tạo ra kết quả sau -

 {"_id":101, "chi tiết":"John"} {"_id":103, "chi tiết":"David"}