我一直在挖掘这个问题很长一段时间,搜索谷歌和堆栈。所提供的选项都没有真正解决我的问题。 在Mongoose中使用对象数组似乎有点麻烦。
所以这是架构:
{
media: {
social: [{Social: String, handler: String}],
profilePic: String
}
}
这是输入:
[
{ Social: 'Facebook', handler: 'user' },
{ Social: 'Twitter', handler: 'useruser' },
{ Social: 'Youtube', handler: 'someuser' }
]
这是输出:
media: { profilePic: 'somelink', social: [ [Object], [Object], [Object] ] }
以下是我的尝试:
我尝试通过数组进行循环并将其推送到
schema.media.social.push(data)
schema.media.social = data
在我尝试的架构上:
social: [Array]
social: [{type: Array}]
social: {}
social: []
social: [{social: {
type: String},
handler: {
type: String}
}]
即使我硬编码:
schema.media.social = {Social: 'Facebook', handler: 'user}
schema.media.social.push({Social: 'Facebook', handler: 'user})
schema.media.social = [{Social: 'Facebook', handler: 'user}]
无济于事,我继续将[Object]作为输出。
此致
答案 0 :(得分:0)
好的,在挖掘和尝试之后,我找到了一个现在有用的解决方案。
对象的数组是2层深,显然不会那样工作,所以我只需将它带回root并且它有效。
如果这是使用嵌套数组和对象的唯一方法,那么mongoDb很糟糕。
{
social: [],
profilePic: String
}