从Node.js中的数组中的单个对象的单个属性获取值?

时间:2016-01-17 17:54:25

标签: javascript arrays node.js mongodb

我正在使用Node.js和MongoDB,我使用这一行:db.collection('users').insertOne({"name":"john", "password":"connor"})来插入新文档,现在我想从中获取密码。

我尝试使用:var users_array = db.collection('users').find({name:"john"},{password:true, _id:false}).toArray(),我得到一个如下所示的数组:[{"password":"connor"}]

以任何方式获取该值并将其保存在字符串或类似内容中?

1 个答案:

答案 0 :(得分:1)

返回的数组没有什么特别之处。您可以像在JavaScript中一样访问属性:

var password = result[0].password;

如果您使用findOne代替find,您将直接获取对象,而不使用数组,因此您可以使用:

var password = result.password;

附注:您不应该以某人(包括您自己)可以查看数据库并找出密码的方式存储密码。这意味着没有明文,也没有加密密码。它们应该使用随机盐进行哈希处理,而不是使用快速哈希算法进行哈希处理。使用pbkdf2bcrypt