【发布时间】:2016-06-05 20:51:38
【问题描述】:
我是 Meteor 的新手,我想在我的用户集合中使用嵌入文档。我正在使用由 collection2 包添加的简单模式。但是当我定义嵌入文档时,我只是在我的一个 Node.js 项目中定义并且它成功运行而没有任何错误,但是当我在用户集合内的 Meteor 项目中定义相同时,它会引发 错误,即
/home/parveen/.meteor/packages/meteor-tool/.1.3.2_4.10vjklo++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:267
W20160604-23:22:34.819(5.5)? (STDERR) throw(ex);
W20160604-23:22:34.819(5.5)? (STDERR) ^
W20160604-23:22:34.941(5.5)? (STDERR) Error: Invalid definition for location field.
W20160604-23:22:34.941(5.5)? (STDERR) at packages/aldeed_simple-schema/simple-schema.js:457:1
W20160604-23:22:34.941(5.5)? (STDERR) at Function._.each._.forEach (packages/underscore/underscore.js:113:1)
W20160604-23:22:34.941(5.5)? (STDERR) at [object Object].SimpleSchema (packages/aldeed_simple-schema/simple-schema.js:454:1)
W20160604-23:22:34.941(5.5)? (STDERR) at meteorInstall.collections.Users.js (collections/Users.js:11:14)
W20160604-23:22:34.942(5.5)? (STDERR) at fileEvaluate (packages/modules-runtime/.npm/package/node_modules/install/install.js:141:1)
W20160604-23:22:34.942(5.5)? (STDERR) at require (packages/modules-runtime/.npm/package/node_modules/install/install.js:75:1)
W20160604-23:22:34.942(5.5)? (STDERR) at /home/parveen/differentialImaging/.meteor/local/build/programs/server/app/app.js:957:1
W20160604-23:22:34.942(5.5)? (STDERR) at /home/parveen/differentialImaging/.meteor/local/build/programs/server/boot.js:283:10
W20160604-23:22:34.942(5.5)? (STDERR) at Array.forEach (native)
W20160604-23:22:34.942(5.5)? (STDERR) at Function._.each._.forEach (/home/parveen/.meteor/packages/meteor-tool/.1.3.2_4.10vjklo++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
=> Exited with code: 8
=> Your application is crashing. Waiting for file change.
我的架构如下:-
UserSchema = new SimpleSchema({
name:{
type: String,
trim: true,
optional: true
},
email:{
type:String,
trim: true,
optional: true
},
password:{
type:String,
trim: true,
optional: true
},
location: {
latitude: {
type: Number,
default: 0,
required: false
},
longitude: {
type: Number,
default: 0,
required: false
},
state: {
type: String,
default: '',
requried: false,
trim: true
},
city: {
type: String,
default: '',
requried: false,
trim: true
}
},
createdAt:{
type:Date,
label:"Created At",
autoValue:function(){
return new Date();
}
}
});
Users.attachSchema(UserSchema);
如您所见,它在我使用嵌入文档的位置字段中给出错误。
请告诉我如何在 Meteor 中实现同样的效果,或者我在这里做错了什么。我是否需要使用其他模式而不是简单模式,或者我们也可以通过简单模式实现相同的目的。
任何帮助建议将不胜感激 谢谢
【问题讨论】:
标签: javascript node.js mongodb meteor simple-schema