请教一个mongoose数组嵌套的问题
假设存入mongo里面的数据是这样的:
{
"a": 1,
"b": 2,
"c": [
[
{
"d": 3,
"e": 4
},
{
"d": 4,
"e": 5
}
],
[
{
"d": 6,
"e": 7
},
{
"d": 8,
"e": 9
}
]
]
}
请问这个时候Schema
结构应该怎么写呢?
我一开始这样写的:
var cs = new Schema({
d: Number,
e: Number
});
var ps = new Schema({
a: Number,
b: Number,
c: [[cs]]
});
但后来看文档发现没这种用法,程序也无法运行,但如果改成:
var ps = new Schema({
a: Number,
b: Number,
c: [cs]
});
find
出来的数据的结构就跟一开始不一样变成:
{
"_id": "5392b3751fbda67b48e4b569",
"a": 1,
"b": 2,
"c": [
{
"0": {
"d": 3,
"e": 4
},
"1": {
"d": 4,
"e": 5
}
},
{
"0": {
"d": 6,
"e": 7
},
"1": {
"d": 8,
"e": 9
}
}
]
}
请问应该怎么设计Schema
才能使输出的数据跟一开始的结构一样
5 回复
楼主解决了吗
我觉得应该不是你数据结构的问题,而是创建数据的时候格式错了
var ps = new Schema({
a: Number,
b: Number,
c: [Array]
});
用的时候:
var ps = new PS({
a: 1,
b: 2,
c: [
[{
d: 4,
e: 5
},{
d: 4,
e: 5
}]
]
})
现在我只能根据帖子最后那个格式的数据拼成我想要的格式。。。
直接使用:
var ps = new Schema({
a: Number,
b: Number,
c: [Array]
});
find
出来就变成空的了:
{
"_id": "5392b3751fbda67b48e4b569",
"a": 1,
"b": 2,
"c": []
}
我现在也遇到了这样的问题