function doIteration(usersIds,userProfiles) {
if(userProfiles==null)
userProfiles=[];
let userId=usersIds.shift();
app.db.db().collection("main").findOne({tag: "DATA", uId: userId}, (err, userData) => {
if(userData!=null)
userProfiles.push(userData);
if(usersIds.length!==0)
doIteration(usersIds,userProfiles);
else
proceed(userProfiles);
});
}
这么迭代可以么?特别的, usersIds 和 userProfiles 这两个变量,在 findOne 的回调里面和外面是同一个意思么?
1
wode234 2018-08-24 15:40:20 +08:00 1
如果你问 usersIds 和 userProfiles 在回调里外是不是同一个意思,那肯定是同一个意思的,我看你是想吧 usersIds 中所有的用户信息 userData 存到 userProfiles 中,应该是 ok 的
|
3
zkx664832 2018-08-24 15:58:36 +08:00 1
find({
tag: "DATA", uId: { $in: usersIds } }) 为什么要每次取一个 id 出来去查??? 一个查询就出来啦 |