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

MeteorJS - Liên kết hình ảnh (FS.collection) với tài liệu liên quan của chúng trong Bộ sưu tập MongoDB

Đây là trường hợp phổ biến trong Meteor / Mongo khi bạn muốn liên kết hai tập hợp. tài liệu mongo có một bài viết tốt về điều này.

Giả sử mỗi nơi có thể có nhiều hình ảnh. Bạn có thể tham chiếu đến địa điểm bên trong hình ảnh hoặc tham khảo nhiều hình ảnh từ địa điểm đó.

Khi bạn tạo hình ảnh trong collectionFS (bỏ qua các chi tiết cụ thể), hãy đảm bảo giữ _id của hình ảnh:

imgId = image.insert();

Nếu bạn muốn có hình ảnh tham khảo nơi bạn có thể cập nhật hình ảnh với:

image.update({ _id: imgId },{ $set: { placeId: myPlace._id }});

hoặc bạn có thể $push imgId vào một loạt các hình ảnh bên trong địa điểm của bạn:

Places.update({ _id: myPlace._id },{ $push: { imageArray: imgId }});

Hình thức tham chiếu thứ hai linh hoạt hơn một chút ở chỗ cùng một hình ảnh có thể thuộc nhiều nơi (nhiều-nhiều). Điều này phù hợp với những địa điểm lồng nhau, ví dụ như hình ảnh của Quảng trường Thời đại vừa là hình ảnh của Quảng trường Thời đại và một bức ảnh về Thành phố New York và như vậy.

Dù bằng cách nào bạn cũng có thể tham gia image của bạn và Places bộ sưu tập sử dụng reywood:xuất bản-tổng hợp gói được thiết kế để dễ dàng xuất bản các bộ sưu tập liên quan.

Cũng xin lưu ý rằng quy ước chung để đặt tên cho bộ sưu tập trong Meteor là chữ cái đầu tiên được viết hoa dạng số nhiều . tức là Hình ảnh thay vì hình ảnh . Điều này là do tập hợp là các biến toàn cục trong Meteor và tập hợp chứa nhiều thứ mà nó được đặt tên theo.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách viết mã với dữ liệu Spring MongoDB cho db.test.update ({name:'abc'}, {$ pull:{'child':{'age':10}}})

  2. brew install php56-mongo Lệnh Không hoạt động

  3. Truy vấn không gian địa lý MongoDB với $ not

  4. Cách kết nối với MongoDB từ iOS (Swift)

  5. Làm cách nào để bạn thay đổi quyền của người dùng MongoDB?