如何为包含数组数组的对象编写 Mongoose Schema?
How do I write a Mongoose Schema for an object containing an array of arrays?
我正在尝试为相对简单的类型构建 Mongoose 模式。来自 mongo 的示例对象如下所示:
{
"_id" : ObjectId("5df2664382f84ea90466c28e"),
"geometry" : {
"coordinates" : [
[
-2.600484,
51.446378
],
[
-2.600107,
51.446927
],
[
-2.5976,
51.447694
],
[
-2.597077,
51.446343
],
[
-2.598391,
51.446112
],
[
-2.600484,
51.446378
]
],
"type" : "Polygon"
},
"name" : "Wapping Wharf"
}
这代表了一个相当基本的结构,包含一个数组数组,我怀疑我在 mongo 模式中出错了。这是我目前拥有的:
new mongoose.Schema({
geometry: {
coordinates: [
[Number, Number]
],
type: String
},
name: String
})
如果我尝试在我的节点应用程序中输出从 Mongoose 返回的整个对象,我可以看到几何 属性 与 _id 和 name 属性一起存在。但是,如果我尝试访问几何体,我会得到未定义的。快速搜索后,我了解到这意味着 Mongoose 架构不正确。
如果我将几何定义为 Schema.Types.Mixed 我似乎得到了对象,但这意味着我无法定义预期的模式。我也尝试过将内部数组定义为混合数组,但这似乎无法解决问题。
如有任何帮助,我们将不胜感激。
你为什么不试试这个
new mongoose.Schema({
geometry: {
coordinates: [
[{Number, Number}]
]
},
name: String
})
我正在尝试为相对简单的类型构建 Mongoose 模式。来自 mongo 的示例对象如下所示:
{
"_id" : ObjectId("5df2664382f84ea90466c28e"),
"geometry" : {
"coordinates" : [
[
-2.600484,
51.446378
],
[
-2.600107,
51.446927
],
[
-2.5976,
51.447694
],
[
-2.597077,
51.446343
],
[
-2.598391,
51.446112
],
[
-2.600484,
51.446378
]
],
"type" : "Polygon"
},
"name" : "Wapping Wharf"
}
这代表了一个相当基本的结构,包含一个数组数组,我怀疑我在 mongo 模式中出错了。这是我目前拥有的:
new mongoose.Schema({
geometry: {
coordinates: [
[Number, Number]
],
type: String
},
name: String
})
如果我尝试在我的节点应用程序中输出从 Mongoose 返回的整个对象,我可以看到几何 属性 与 _id 和 name 属性一起存在。但是,如果我尝试访问几何体,我会得到未定义的。快速搜索后,我了解到这意味着 Mongoose 架构不正确。
如果我将几何定义为 Schema.Types.Mixed 我似乎得到了对象,但这意味着我无法定义预期的模式。我也尝试过将内部数组定义为混合数组,但这似乎无法解决问题。
如有任何帮助,我们将不胜感激。
你为什么不试试这个
new mongoose.Schema({
geometry: {
coordinates: [
[{Number, Number}]
]
},
name: String
})