当我发现一个文档使用以下行:
const user = await User.findById(req.user.id).populate('input')
然后输入console.loguser
,我可以看到满足查询的文档。
但是,当我像这样将.updateOne({ formResponded: '1' });
添加到前一行时:
const user = await User.findById(req.user.id).populate('input').updateOne({ formResponded: '1'});
和我console.loguser
我没有得到任何记录,而是一个对象,看起来像这样:
{ n: 1,
nModified: 1,
opTime: {
ts: Timestamp { _bsontype: 'Timestamp', low_: 2, high_: 1635212112 },
t: 41
},
electionId: 7fffffff0000000000000029,
ok: 1,
'$clusterTime': {
clusterTime: Timestamp { _bsontype: 'Timestamp', low_: 2, high_: 1635212112 },
signature: { hash: [Binary], keyId: [Long] }
},
operationTime: Timestamp { _bsontype: 'Timestamp', low_: 2, high_: 1635212112 }
}
为什么会发生这种情况?
修正:
const user = await User.findByIdAndUpdate({ _id: req.user.id }, { formResponded: '1' }).populate('input')