mongoose - 架构数组路径的值无效

标签 mongoose schema

我正在尝试构建的评论模型包含: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)

最佳答案

https://searchcode.com/codesearch/view/6134527/

看上面的例子,你需要做类似的事情

var replySchema = new Schema();
replyschema.add({
  username: String,
  timestamp: { type: Date, default: Date.now },
  body: String,
  replies: [replySchema]
});

关于mongoose - 架构数组路径的值无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30856208/

相关文章:

typescript - Nest.js/ Mongoose : Why is my pre save hook failing to be triggered?

node.js - 如何使用 Mongoose 删除中间件进行级联删除?

java - 数组的 Jackson-CSV 架构

java - 在 Java 中根据 Xml 模式数据类型验证字符串

javascript - forEach 循环内的异步 findOne() 操作

javascript - 如何使用bind传递对next()的引用?

javascript - 所有数据插入数据库后响应请求

database - 数据库中的元数据和模式有什么区别?

php - 如何查询特定 VARCHAR 字段的长度/值限制?

c# - 具有存储过程的 Visual Studio 数据集设计器?这个图标是什么