这是代码:
usermodel.findOne({ user: req.session.user }, function (err, user){
usermodel.find({ _id: {$in: user.follow } }, { user: true }, function (err, users){
usermodel.find({ author: { $in: users.user }}, function (err, images){
console.log(users);
console.log(images);
});
});
这是架构:
var usersschema = new mongoose.Schema({
user: String,
follow: [String],
message: [{
title: String,
author: String,
message: String
}],
});
该follow
数组包含_id
实际用户关注的用户的 s。用第一个usermodel.find
y 得到follow
数组。使用第二个usermodel.find
,我得到用户名:
[ { _id: 50fd9c7b8e6a9d087d000006, user: 'Mrmangado' },
{ _id: 50fd9d3ce20da1dd7d000006, user: 'kirbo' } ]
而且,对于第三个也是最后一个usermodel.find
,我正在尝试获取用户的信息。我在前面得到了用户的名字usermodel.find
,并且author
消息的值与创建它的用户的值相同。问题是我获取用户名的方式,我想我必须像这样拥有用户名:
[{ user: 'Mrmangado' },
{ user: 'kirbo' }]
如果我收到这样的数组,则该$in
语句将完美运行。有没有办法得到这样的输出......?
谢谢提前!