async function getinfo (userid) {
let postinfo,collectinfo;
try {
postinfo = await userModel.findOne({'userId':userid}).populate({path:'post',select:' -__v -visit -star -reply -anthorDesc -author '});
collectinfo = await userModel.findOne({'userId':userid}).populate({path:'collect',select:' -__v -visit -star -reply -anthorDesc -author '});
} catch (error) {
throw error
}
postinfo.collect = [];
console.log(collectinfo.collect);
postinfo.collect = postinfo.collect.concat(collectinfo.collect);
return postinfo
}
查询一个用户的发帖与收藏帖子的情况
model如下
var userSchema = new Schema({
"userId":{type:String},
"name" : {type:String},
"password" : {type:String},
"email":{type:String},
"intro":{type:String,default:'他还没有任何介绍!'},
"avatar":{type:String,default:'userAvatar.png'},
"collect":[{type:mongoose.Schema.Types.ObjectId,ref:'Post'}],
"post":[{type:mongoose.Schema.Types.ObjectId,ref:'Post'}],
"isAdmin":{type:Boolean,default:false},//判断是否为管理员
});
通过assign进行复制存在问题
用contact方法进行连接时,如果不清空被连接的数组,便不能得到正确的结果