2017-09-16 41 views
0

我一直在这个问题上挖掘了很长一段时间,搜索谷歌和堆栈。没有提供的选项确实解决了我的问题。 在Mongoose中使用对象数组似乎很麻烦。节点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}] 

什么都没有用,我继续得到[对象]作为输出。

问候

回答

0

好吧,挖掘和尝试后,我发现,现在有效的解决方案。

对象数组深度2层,显然不能这样工作,所以我只好把它带回到根目录并且工作。

如果这实际上是处理嵌套数组和对象的唯一方法,那么mongoDb虽然很糟糕。

{ 
    social: [], 
    profilePic: String 
}