Mongoose是否仅支持数组中的嵌入式文档?

s4y*_*s4y 11 mongoose mongodb node.js

我在MongoDB中有一些看起来像这样的数据:

{
    name: "Steve",
    location: {
        city: "Nowhere, IL",
        country: "The United States of Awesome"
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用对象来组织常见的数据结构(如位置),在Mongoose中可能会很好地映射到Schemas.不幸的是,他们似乎并没有在Mongoose中真正起作用.

如果我只是嵌入一个对象,像这样:

{
    name: String,
    location: {
        city: String,
        country: String
    }
}
Run Code Online (Sandbox Code Playgroud)

它似乎工作,但展示了一些奇怪的行为,导致我的问题(例如instance.location.location返回location,子对象从父模式继承方法).我在Mongoose列表上开始了一个帖子,但它没有看到任何动作.

如果我嵌入了一个Schema,就像这样:

{
    name: String,
    location: new Schema({
        city: String,
        country: String
    })
}
Run Code Online (Sandbox Code Playgroud)

...我的应用程序无法启动(Schema不是Mongoose支持的类型).同上

{
    name: String,
    location: Object
}
Run Code Online (Sandbox Code Playgroud)

......无论如何,哪个不理想.

我是否遗漏了某些东西,或者我的模式与Mongoose不相符?

s4y*_*s4y 1

看来这是一个错误,它\xe2\x80\x99s已在Mongoose 2.0中修复!

\n