首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MeteorJS -将图像(FS.collection)链接到MongoDB集合中的相关文档

MeteorJS -将图像(FS.collection)链接到MongoDB集合中的相关文档
EN

Stack Overflow用户
提问于 2015-11-15 20:41:01
回答 1查看 170关注 0票数 0

我正在用气象仪开发一个应用程序。我有一个集合初始化为:

代码语言:javascript
复制
Places=new Mongo.Collection('places');

其中我还想存储相应位置的图像。我已经将collectionFS包添加到我的项目中。下面的代码为图像创建一个单独的集合:

代码语言:javascript
复制
image=new FS.Collection("images", {
    stores: [new FS.Store.FileSystem("images")]
});

然而,我不明白我应该如何将这组图像与“Place”中的相关文档联系起来。或者简单地在我的蒙戈收藏中插入一个图像。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-15 22:38:24

这是Meteor/Mongo中的一个常见情况,您希望将两个集合关联起来。蒙戈博士在这方面写得很好。

假设每个地方都有很多图像。您可以在图像中引用该位置,也可以引用来自该位置的许多图像。

当您在collectionFS中创建图像时(忽略了细节),请确保保留图像的_id

代码语言:javascript
复制
imgId = image.insert();

如果您想要图像,请参考所在的位置,然后可以使用以下内容更新图像:

代码语言:javascript
复制
image.update({ _id: imgId },{ $set: { placeId: myPlace._id }});

或者,您可以将$push imgId放在您所在位置的图像数组上:

代码语言:javascript
复制
Places.update({ _id: myPlace._id },{ $push: { imageArray: imgId }});

第二种参考方式更灵活一些,因为相同的图像可以属于多个地方(多到多)。这对嵌套的地方很好,例如,时代广场的图片既是时代广场的图片,也是纽约市的图片等等。

无论哪种方式,您都可以使用为方便发布相关集合而设计的image包和Places集合加入reywood:出版-合成集合。

还请注意,在Meteor中命名集合的通用约定是第一个字母、大写和复数形式。即图像代替图像。这是因为集合是Meteor中的全局变量,集合包含许多以其命名的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33724787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档