我努力寻找解决这种常见情况的方法,但没有成功。希望有人可以帮忙。
背景:
{ { _id: <message_id_X>, viewedBy: [<user_id_?>,<user_id_?>,...] }, { _id: <message_id_Y>, viewedBy: [<user_id_?>,<user_id_?>,user_id_?>,...] }, ... }
用户偶尔会调用我的node.js服务器,报告查看了哪些消息,如下所示:
{ user_id: <user_id_?>, viewed: [<message_id_?>,...] }
仅当某些用户按照查看方式报告时,才会创建消息条目。这是使用以下命令完成的:
db.viewedMessages.update({"_id":<msg_id>},{$addToSet:{viewedBy:<user_id>}},{ upsert : true });
现在提出问题。
以上更新命令是异步的。如何运行[msg_id,msg_id,msg_id,...]数组,为每个msg_id发出上述更新命令,最后得到一个回调,告诉我一切都已完成或由于某种原因失败了?
非常感谢这里的任何帮助!