使用 MonogoDB 的规范化数据模型显示实际图像而不是 ObjectId
Show actual Image instead of ObjectId with MonogoDB's Normalized Data Model
我想显示上传到 MongoDB 的图片
当前它显示 ObjectId
Templates.coffee
Template.projectShow.helpers
projects: ->
Projects.find()
Projects.html
<template name="projectShow">
<h2>Projects</h2>
{{#each projects}}
{{> showTemplate}}
{{/each}}
</template>
<template name="showTemplate">
Title : {{title}} <br>
Image : {{projectImage}}
</template>
Collections.coffee
@Projects = new Meteor.Collection('projects')
@imageStore = new FS.Store.GridFS("project-images")
@Images = new FS.Collection("project-images", stores: [imageStore])
Schemas.Projects = new SimpleSchema
title:
type: String
projectImage:
type: String
autoform:
afFieldInput:
type: "fileUpload"
collection: "Images"
Projects.attachSchema(Schemas.Projects)
您需要为 showTemplate 模板创建一个辅助函数,用于在文件集合中查找您需要的数据
projectImage returns 存储在 collectionsfs 集合中的图像的 ID。因此,要获得实际图像 url,您必须按照以下方式做一些事情:(可能不是 100% 正确的语法,但只是为了解释流程)
Template.showTemplate.helpers({
projectImage: function(){
return Images.findOne({_id: Template.instance().data.projectImage}).url();
}
});
我想显示上传到 MongoDB 的图片 当前它显示 ObjectId
Templates.coffee
Template.projectShow.helpers
projects: ->
Projects.find()
Projects.html
<template name="projectShow">
<h2>Projects</h2>
{{#each projects}}
{{> showTemplate}}
{{/each}}
</template>
<template name="showTemplate">
Title : {{title}} <br>
Image : {{projectImage}}
</template>
Collections.coffee
@Projects = new Meteor.Collection('projects')
@imageStore = new FS.Store.GridFS("project-images")
@Images = new FS.Collection("project-images", stores: [imageStore])
Schemas.Projects = new SimpleSchema
title:
type: String
projectImage:
type: String
autoform:
afFieldInput:
type: "fileUpload"
collection: "Images"
Projects.attachSchema(Schemas.Projects)
您需要为 showTemplate 模板创建一个辅助函数,用于在文件集合中查找您需要的数据
projectImage returns 存储在 collectionsfs 集合中的图像的 ID。因此,要获得实际图像 url,您必须按照以下方式做一些事情:(可能不是 100% 正确的语法,但只是为了解释流程)
Template.showTemplate.helpers({
projectImage: function(){
return Images.findOne({_id: Template.instance().data.projectImage}).url();
}
});