javascript - 如何迭代对象数组以便将数据推送到 Mongodb 嵌套数组中

标签 javascript arrays mongodb express mongoose

所以我正在开发一个博客应用程序,并且现在正在编写一个在线编辑器,没什么花哨的。

在我开始解释我的问题之前,请考虑我正在使用的模式:

 var blogSchema = restful.model('blog-schema', mongoose.Schema({
   title: String,
   preview: String,
   content: [{tag: String, body: String}],
   comments: [{ body: String, date: Date}],
   createdAt: {type: Date, default: Date.now}
 }

在我的客户端,我使用 react 来 POST 数据,如下所示:

 [{"type":"h2","body":"azeaeazeae"},{"type":"p","body":"azeaeazeae"}]

然后在 express() 中我这样做:

 blogSchema.update(
  {title: "please work AGAIN"},
  {
     $pushAll: {
      content: test
     }
 },
 function(err, stat, docs) {
  console.log(stat);
 }
)

然后使用 POSTMAN 检查数据是否存储良好,我得到了:

"content": [    
{
  "tag": "[object Object],[object Object]",
  "_id": "57b2eced869e03821d446c38"
}

我的问题是,在我的服务器中如何迭代这个对象数组,然后将每个项目推送到其各自的位置:tagbody

最佳答案

我确实找到了:

这是代码:

app.post('/admin', function(req, res) {
   var test = req.body;

   test.map(function(test, i) {
   blogSchema.update(
   {title: "please work AGAIN"},
    {
      $push: {
        content: {
          test: test.type,
          body: test.body
        }
      }
    },
    function(err,stat,dude){
      console.log(stat);
    })
})  

我简单地映射了 req.body,然后在 mongo 中执行 $push...我很抱歉发布了这个问题。不过还是很高兴!

关于javascript - 如何迭代对象数组以便将数据推送到 Mongodb 嵌套数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38972966/

相关文章:

javascript - 如何将 Ajax 响应中的值附加到 JavaScript 中的数组?

javascript - 如何在 meteor.js 上保存额外的用户详细信息,例如家庭住址

javascript - 如何为 node.js 中的 MongoDB 索引指定 javascript 对象中的属性顺序?

javascript - Javascript函数可在FF,Opera等中运行,但在IE8中无法运行-如何修复

javascript - Mongoose 分页

javascript - 使用 jQuery 删除两个标签之间的文本

javascript - meteor 自动订阅维护某些文档

javascript - 使用javascript从MVC Action通过iFrame重定向到父级

android - 在 android 上的字符串数组上插入 JSON 数组

javascript - 从输入中展平嵌套数组