在我的模特中我有这个
module.exports.getPhotosById = function(userId,callback){
Photos.findOne({userId:userId},callback);
}
然后在路线中我做
Photo.getPhotosById(req.user._id,function(err,result){
console.log(result);
console.log(result.length);
});
第一个控制台输出此
{ _id: 325657865435643245,
userId: '32443564',
photo: 'abc.jpg',
caption: 'abc'
}
但为什么它不是阵列?因为第二个控制台的输出是undefined
。
答案 0 :(得分:2)
result
是单个文档而不是数组,因为您正在调用findOne
,而不是find
。
要获取所有用户的照片文档,请将您的方法更改为:
module.exports.getPhotosById = function(userId, callback){
Photos.find({userId: userId}, callback);
}
答案 1 :(得分:0)
findone 返回一个满足指定查询条件的文档(JSON)
find 返回对象数组。