MongoDB comparison



我试图在我的MongoDB数据库检索数据。如果我在我的mongoDB数据库中有以下内容,我想选择给定用户名的密码。因此,在本例中,我将在数据库中查找名为"e"的用户名,并检索与该特定用户名关联的密码。我试着到处找,但我似乎找不到解决办法。我使用express, node和mongoDB为这个个人项目。到目前为止,我所拥有的只是查找数据库与。find({Username: Username},它输出整个JSON对象。

为了澄清,我将发送一个用户名值为'e'的请求,并在数据库中查找它,试图检索密码的值。

{
_id: 62d7712e6d6732706b46094e,
Username: 'e',
Password: 'hi',
__v: 0
}

find接受多个输入,您可以在find本身中给出选择语句

那么查询就像

db.collectionName.find({username:'e'},{_id:0,password:1})

mongo在默认情况下一直获取_id,所以你需要特别提到不获取_id,因此_id:0

对于这种情况,有2个选项,如果用户名是唯一的,我建议使用findOne而不是查找

db.collectionName.findOne({username:'e'}).password

如果你有多个相同用户名的记录,但你只想要第一个记录

但是如果你想要所有记录的数据作为数组

db.collectionName.find({username:'e'},{_id:0,password:1})..map( function(u) { return u.password; } )