架构数组路径的值无效
Posted
技术标签:
【中文标题】架构数组路径的值无效【英文标题】:Invalid value for schema Array path 【发布时间】:2015-08-31 14:24:29 【问题描述】:我正在尝试构建的评论模型包含:Reply 和 CommentThread。 CommentThread 包含Reply,Reply 可以自己递归。
/models/comment.js:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var replySchema = new Schema(
username: String,
timestamp: type: Date, default: Date.now ,
body: String,
replies: [replySchema]
, _id: true);
var commentThreadSchema = new Schema(
title: String,
replies: [replySchema]
);
var Reply = mongoose.model('Reply', replySchema);
var CommentThread = mongoose.model('CommentThread', commentThreadSchema);
module.exports =
Reply: Reply,
CommentThread: CommentThread
;
我的错误信息是:架构数组路径“回复”的值无效。不能replySchema 将自己用作值类型吗?还是其他原因?
c:\Users\jacki_000\projects\invictusblog\node_modules\mongoose\lib\schema.js:297
throw new TypeError('Invalid value for schema Array path `'+ prefix + ke
^
TypeError: Invalid value for schema Array path `replies`
at Schema.add (c:\Users\jacki_000\projects\invictusblog\node_modules\mongoos
e\lib\schema.js:297:13)
at new Schema (c:\Users\jacki_000\projects\invictusblog\node_modules\mongoos
e\lib\schema.js:87:10)
at Object.<anonymous> (c:\Users\jacki_000\projects\invictusblog\models\comme
nt.js:4:19)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (c:\Users\jacki_000\projects\invictusblog\services\com
ment-service.js:1:83)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
【问题讨论】:
【参考方案1】:https://searchcode.com/codesearch/view/6134527/
看上面的例子,你需要做类似的事情
var replySchema = new Schema();
replyschema.add(
username: String,
timestamp: type: Date, default: Date.now ,
body: String,
replies: [replySchema]
);
【讨论】:
谢谢。有用。是不是因为在使用replySchema之前要先定义好? 谢谢,从旧版本的 mongoose 迁移时遇到了同样的问题。问题是如何定义模式。.add
运行良好。【参考方案2】:
运行
npm install mongoose@3.8.5
快速修复
【讨论】:
以上是关于架构数组路径的值无效的主要内容,如果未能解决你的问题,请参考以下文章
ColdFusion CFFILE 重命名属性验证错误,属性源的值无效,即使文件存在且路径正确
结合 JSON_SEARCH 和 JSON_EXTRACT 得到我:“无效的 JSON 路径表达式。”