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

MongoDB:Cách tìm tài liệu theo id bên trong tài liệu lồng nhau

Sử dụng ký hiệu dấu chấm:

Khi trường chứa tài liệu được nhúng, một truy vấn có thể chỉ định đối sánh chính xác trên tài liệu được nhúng hoặc chỉ định đối sánh theo từng trường riêng lẻ trong tài liệu được nhúng bằng ký hiệu dấu chấm.

db.coll.find({
   "accounts._id" :ObjectId("5546329a470019850084a611")
})

Nếu bạn chỉ cần xuất một phần của mảng mà bạn có _ thì bạn có cần sử dụng đô la trong phép chiếu

Toán tử vị trí $ giới hạn nội dung của một từ kết quả truy vấn chỉ chứa phần tử đầu tiên phù hợp với tài liệu truy vấn.

và truy vấn của bạn sẽ giống như sau:

db.coll.find({
   "accounts._id" :ObjectId("5546329a470019850084a611")
}, {
   "accounts.$.": 1
})

Tái bút nếu bạn cần đầu ra như trong các câu hỏi đã sửa đổi của mình, hãy sử dụng cái này:

db.coll.find({
   "accounts._id" :ObjectId("5546329a470019850084a611")
 }, {
   accounts : 0
 })


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meteor, One to Many Relationship &chỉ thêm trường vào bộ sưu tập phía máy khách trong Xuất bản?

  2. chuyển đổi cơ sở dữ liệu từ mysql sang mongoDb

  3. Cách sử dụng lại kết nối mongodb thông qua Promise

  4. Làm cách nào để thực hiện nhiều hơn / nhỏ hơn so với sử dụng MongoDB?

  5. Cách xuất kết quả truy vấn MongoDB sang tệp CSV