Node.js 在mongoose的嵌套查询中按id查找用户
我有这样一个问题:Node.js 在mongoose的嵌套查询中按id查找用户,node.js,mongoose,Node.js,Mongoose,我有这样一个问题: router.get('/match', (req, res, next) => { User.findOne({ _id: req.query.id }, (err, userfound) => { if (err) return next(err); console.log('userfound ', userfound); User.find({ gender: getGender(userfound.doc.gender), a
router.get('/match', (req, res, next) => {
User.findOne({ _id: req.query.id }, (err, userfound) => {
if (err) return next(err);
console.log('userfound ', userfound);
User.find({ gender: getGender(userfound.doc.gender), age: { $gte: (userfound.doc.age - 5), $lte: userfound.doc.age } }, function (err, matches) {
res.json({
success: true,
matches: matches,
message: "Successful"
});
});
});
在非友好模式下返回单据:
userfound = model = {
'$__': InternalCache {
strictMode: true,
selected: { },
shardval: undefined,
saveError: undefined,
validationError: undefined,
adhocPaths: undefined,
removing: undefined,
inserting: undefined,
version: undefined,
getters: { },
_id: 5d69463e768de047b6aaf739,
populate: undefined,
populated: undefined,
wasPopulated: false,
scope: undefined,
activePaths: StateMachine {
paths: [Object],
states: [Object],
stateNames: [Array]
},
pathsToScopes: { },
ownerDocument: undefined,
fullPath: undefined,
emitter: EventEmitter {
_events: [Object: null prototype] { },
_eventsCount: 0,
_maxListeners: 0
},
'$options': true
},
isNew: false,
errors: undefined,
_doc: {
created: 2019 - 08 - 30T15: 52: 30.048Z,
__v: 0,
name: 'Chris',
dob: 2019 - 12 - 28T00: 00: 00.000Z,
age: -1,
gender: 'male',
tongue: 'xxxxx',
religion: 'xxxxx',
mobile: '9999999999',
email: 'chris.k20@gmail.com',
password: '$2a$10$LcxHafqgwJVCBDupR4v7wePkvLCQzs8eilq.QpQ4q2MJ8IfcnUAfa',
picture: 'https://gravatar.com/avatar/fe5efae62aa7f13c40efec1fb197ac98?s200&d=retro',
_id: 5d69463e768de047b6aaf739
},
'$init': true
}
其中,实际内容在对象内部:
_doc: {
created: 2019 - 08 - 30T15: 52: 30.048Z,
__v: 0,
name: 'Chris',
dob: 2019 - 12 - 28T00: 00: 00.000Z,
age: -1,
gender: 'male',
tongue: 'xxxxx',
religion: 'xxxxx',
mobile: '9999999999',
email: 'chris.k20@gmail.com',
password: '$2a$10$LcxHafqgwJVCBDupR4v7wePkvLCQzs8eilq.QpQ4q2MJ8IfcnUAfa',
picture: 'https://gravatar.com/avatar/fe5efae62aa7f13c40efec1fb197ac98?s200&d=retro',
_id: 5d69463e768de047b6aaf739
}
对对象使用toObject()
,对对象数组使用lean()