【发布时间】:2016-04-04 13:26:42
【问题描述】:
注意:我问过这个问题here,但是当时我纯粹是在使用MongoDB,现在我正在尝试使用@987654323 来实现这个@。我决定提出一个单独的问题是合适的,因为我相信答案会完全不同,但是如果我的决定有误,请告诉我。
我有一个格式如下的集合:
[
{
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 的新手,似乎无法弄清楚这一点。
【问题讨论】:
标签: node.js mongodb express mongoose