节点Mongoose对象返回[Object]

时间:2017-09-16 18:29:07

标签: express 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}]

无济于事,我继续将[Object]作为输出。

此致

1 个答案:

答案 0 :(得分:0)

好的,在挖掘和尝试之后,我找到了一个现在有用的解决方案。

对象的数组是2层深,显然不会那样工作,所以我只需将它带回root并且它有效。

如果这是使用嵌套数组和对象的唯一方法,那么mongoDb很糟糕。

{
  social: [],
  profilePic: String
}