MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MeteorJS - Свързване на изображения (FS.collection) към техния съответен документ в колекцията MongoDB

Това е често срещан случай в Meteor/Mongo, когато искате да свържете две колекции. монго документи имам добър коментар за това.

Да кажем, че всяко място може да има много изображения. Можете или да поставите препратка към мястото вътре в изображението, или да препратите към многото изображения от мястото.

Когато създавате изображение в collectionFS (като оставите спецификата), не забравяйте да запазите _id на изображението:

imgId = image.insert();

Ако искате изображението да препраща към мястото, можете да актуализирате изображението с:

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

или можете да $push imgId върху масив от изображения във вашето място:

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

Втората форма на справка е малко по-гъвкава, тъй като едно и също изображение може да принадлежи на множество места (много към много). Това е добре за вложени места, например снимка на Таймс Скуеър едновременно е снимка на Таймс Скуеър и снимка на Ню Йорк и така нататък.

И в двата случая можете да присъедините вашето image и Places колекции, използващи reywood:publish-composite пакет, предназначен за лесно публикуване на свързани колекции.

Обърнете внимание също, че има обща конвенция за именуване на колекции в Метеор е първата буква главна и форма за множествено число . т.е. Изображения вместо изображение . Това е така, защото колекциите са глобални променливи в Meteor и колекцията съдържа много от нещата, на които е кръстена.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Агрегиране в колба-монгодвигател

  2. Как се увеличава правилно много дати в mongoDB?

  3. MongoError:връзка 0 към localhost:27017 изтече

  4. MongoDB агрегиране в диапазон

  5. activerecord и mongo / mongo-mapper мост