ウォーターフォール関数が呼び出され、内部関数の 1 つがユーザー ドキュメントの配列を取得し、それらがユーザー自身であるか、ユーザーの友人であるかを検出しようとしています。これら2つのことに基づいて、「私」が真/偽であり、「友人」が文書/偽であるユーザー文書をそれぞれ返したいと思います。ドキュメント自体は真実ではありません。ただし、得られる結果は正しくありません。
コードは次のとおりです。
function(users, callback) {
async.mapSeries([users], function(user, next) {
Friend.findOne({userId: req.signedCookies.userid, friend_id: user}, function(err, friend) {
var me = false;
if (user.id === req.signedCookies.userid) {
console.log('me check');
me = true;
}
if (friend === undefined) {
friend = false;
}
var object = {'user': user, 'friend': friend, 'me': me};
//searchResults.push(object);
next(err, object);
});
}, function(err, searchResults) {
console.log(searchResults);
callback(null, searchResults);
});
}
これは私が得ている結果です:
[ { user:
[ { firstName: 'test1',
lastName: 'test1s',
email: 'test1@gmail.com',
emailTrue: 'test1@gmail.com',
firstNameTrue: 'Test1',
lastNameTrue: 'teST1s',
password: '$2a$10$irIz5rVSFwGFVjzXqAqdxuxa8wAFoV99FulXykt
',
phone: 2738483282,
birthday: Tue Aug 22 823 20:00:00 GMT-0400 (Eastern Dayli
email_confirmed: true,
date_created: Thu Aug 15 2013 14:54:17 GMT-0400 (Eastern
,
_id: 520d23d9367604cc0d000001,
__v: 0,
socialAccounts: [],
phoneList: [],
emailList: [] },
{ firstName: 'test1',
lastName: 'test1ss',
email: 'test1s@gmail.com',
emailTrue: 'test1s@gmail.com',
firstNameTrue: 'test1',
lastNameTrue: 'test1ss',
password: '$2a$10$kaWYHkg68c4Uti6/DlNVR.N0Ojzo.RnsQ6BARTd
',
phone: 888439348,
birthday: Mon Aug 30 94 20:00:00 GMT-0400 (Eastern Daylig
email_confirmed: true,
date_created: Thu Aug 15 2013 15:11:19 GMT-0400 (Eastern
,
_id: 520d27d7a767bdbc1c000001,
__v: 0,
socialAccounts: [],
phoneList: [],
emailList: [] } ],
friend: false,
me: false } ]