JuC*_*lot 5 mongoose mongodb node.js
在我正在处理的集合中,文档如下所示:
{
    name: 'Myname',
    other: 'other',
    stuff: [
        ['something', 12, 4, 'somethingelse'],
        ['morestuff', 2, 4, 8],
        ['finally', 12, 'again', 58],
    ]
}
Run Code Online (Sandbox Code Playgroud)
我写了这个Mongoose模式来访问它:
var MyDocSchema = new Schema({
    name: String,
    other: String,
    stuff: [],
});
Run Code Online (Sandbox Code Playgroud)
当我查询文档时,一切正常,控制台中显示的输出是正确的.但是,当我尝试做console.log(myDoc.stuff)时,我得到了以下内容:
['something', 12, 4, 'somethingelse', 'morestuff', 2, 4, 8, 'finally', 12, 'again', 58]
Run Code Online (Sandbox Code Playgroud)
代替
[
    ['something', 12, 4, 'somethingelse'],
    ['morestuff', 2, 4, 8],
    ['finally', 12, 'again', 58],
]
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢您的帮助!!
Hug*_*ugo 16
http://mongoosejs.com/docs/schematypes.html:向下滚动到Array部分:
注意:指定一个空数组相当于
[Mixed].以下都创建了数组Mixed.
这意味着什么是在Array部分正上方的Mixed部分.
为嵌入文档定义架构:
var Stuff = new Schema({
  name: String,
  value1: Number,
  ...
});
Run Code Online (Sandbox Code Playgroud)
使用它而不是空数组[]:
var MyDocSchema = new Schema({
  name: String,
  other: String,
  stuff: [Stuff],
});
Run Code Online (Sandbox Code Playgroud)