如何遍历对象数组以便在 Mongodb 嵌套数组中推送数据
Posted
技术标签:
【中文标题】如何遍历对象数组以便在 Mongodb 嵌套数组中推送数据【英文标题】:How to iterate through array of object in order to push data in Mongodb nested array 【发布时间】:2016-12-22 17:08:54 【问题描述】:所以我正在开发一个博客应用程序,我现在正在编写一个在线编辑器,没什么特别的。
在我开始解释我的问题之前,请考虑一下我正在使用的这个架构:
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
来发布如下所示的数据:
["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"
我的问题,我如何在我的服务器中遍历这个对象数组,然后将每个项目推送到各自的位置:tag
和 body
。
【问题讨论】:
【参考方案1】:我确实找到了:
这里是代码:
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 ...我很抱歉发布了这个问题。不过很开心!
【讨论】:
还有一个问题,为什么 mongodb 为每个推送的元素创建一个 _id ? "test": "h2", "body": "一些正文", "_id": "57b2f1260397195a1f49ac64" This link 可能会在评论中为您提供问题的答案。以上是关于如何遍历对象数组以便在 Mongodb 嵌套数组中推送数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在 mongodb/mongoose 的嵌套数组中检查是不是存在并更新对象?