如果我有结构
{
"__v": 0,
"email": "dw1@gmail.com",
"password": "dfsdfsdf",
"_id": "5864a681c02817571564ddeb",
"tokens": [
{
"access": "auth",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.dfsdfsdgsdg3423h4jhj23.7oKGPLMAnSBMYRFTCj-xLwfqIx4q3ZPorM0CNxT3OYA",
"_id": "5864a681c02817571564ddec"
}
]
}
我想在令牌(数组)中使用令牌我如何在JS中执行此操作?
User.find({
[WHAT GOES HERE?]
}).then((result) => {return result;}).catch((e) => {return "error"})
用户是我创建的架构的猫鼬模型。
查找查询部分的内容是什么?
答案 0 :(得分:1)
使用点(。)表示法 -
User.find({
'tokens.token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.dfsdfsdgsdg3423h4jhj23.7oKGPLMAnSBMYRFTCj-xLwfqIx4q3ZPorM0CNxT3OYA'
}).then((result) => {return result;}).catch((e) => {return "error"})
我猜这些令牌对用户来说是独一无二的,因此您可以使用findOne()
代替find()
。
答案 1 :(得分:0)
如果你有userId
或者你正在查询特定数据,这很容易。
此处的userId
是您要找的userId
。
User.find({ id : userId}, {tokens : 1}).then((result) {
console.log(result); // here result will return you the tokens array.
console.log(result[0].token); // to fetch the token
}).catch((e){return "error"})