gpt4 book ai didi

node.js - 查找包含子对象字段 Mongoose 特定值的文档

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:03 24 4
gpt4 key购买 nike

注意:我问了这个问题here ,但是当时我纯粹使用 MongoDB,现在我尝试使用 Mongoose 来实现它。我认为提出一个单独的问题是合适的,因为我相信答案会根本不同,但是如果我的决定不正确,请告诉我。

<小时/>

我有一个具有以下格式的集合:

[ 
{
firstname: 'Joe',
lastname: 'Blow',
emails: [
{
email: 'test@example.com',
valid: false
},
{
email: 'test2@example.com',
valid: false
}
],
password: 'abc123',
_id: 57017e173915101e0ad5d94a
},
{
firstname: 'Johnny',
lastname: 'Doe',
emails: [
{
email: 'test3@example.com',
valid: false
}
],
password: 'abc123',
_id: 57017e173915101e0ad5d87b
},
]

我正在尝试根据 emails.email 字段查找用户。这是我到目前为止所拥有的:

UserModel.find()
.where('emails')
.elemMatch(function (elem) {
elem.where('email').equals(userEmail);
})
.limit(1)
.exec(
(err, usersReturned) => {
console.log('test2@example.com');
});

我做错了什么?我是 Mongoose 的新手,似乎无法弄清楚这一点。

最佳答案

你可以这样做:

UserModel.find({"emails.email": userEmail}).limit(1).exec(function(err, user){
if(err) console.log("Error: " + JSON.stringify(err));
else if(user) console.log("User Returned is : " + JSON.stringify(user));
});

关于node.js - 查找包含子对象字段 Mongoose 特定值的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36394853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com