【发布时间】:2016-06-01 01:44:14
【问题描述】:
我目前正在使用一个 forEach 循环,该循环遍历我用来更新和设置/保存我通过发布请求发送的数据的电子邮件数组。
这是我当前的代码:
app.post('/register/register', function(req, res){
var emails = ['hello@gmail.com', 'yay@gmail.com', 'cool@gmail.com']
emails.forEach(function(element){
User.update(
{email: element}, {$set: {team: req.body}}
, function(err, user){
})
})
res.sendStatus(200);
})
这段代码有效,但我不禁觉得它写得很糟糕。 mongoDB 中有什么东西可以让我找到数组 emails 中的所有文档,我可以用数据一次更新它,而不是遍历每个项目并以这种方式保存?
谢谢。
【问题讨论】:
-
调用应该是单个更新调用,以减少开销。在 mongoDB 端处理数组。无论如何,我通常将单个项目放入数组中,这样数据库就不必检查类型
标签: javascript node.js mongodb foreach mongoose