我正在尝试开发一个同步服务器(想想:SVN 之类),它在一个请求(JS 对象的 JSON 字符串化数组)中接受来自客户端的一个或多个文档(JSON 字符串),将它们插入/更新到 mongodb 并发送一个响应- 这是一个 JSON 字符串,包含每个文档的插入/更新状态(以及更多信息,如 mongo 中的 _id)。
如果它是一个文档,我可以完成一个插入/更新,并在它的回调中,我可以发送响应。
collection.insert(_data, function(error, result) {
if(error) res.send('error');
else res.send(JSON.stringify({result: result}));
});
但是当我有多个文件时如何做到这一点。我可以在前一个回调中插入/更新一个文档。但我担心如果我这样做,我会得到一个可怕的代码阶梯(我可以在一个函数中完成它并递归,是的)。
任何帮助将不胜感激。顺便说一句,我正在使用这个驱动程序:http: //mongodb.github.io/node-mongodb-native/
注意:我不是在看批量插入或更新,因为正在处理的每个文档都需要单独处理。有些可能需要插入,有些更新,然后是版本号和同步状态检查等。