在节点js中获取“name”的值

时间:2016-12-22 14:20:15

标签: node.js mongodb

v2

输出:

Category = collection.find({},{ name: true }).toArray();
console.log("Categories Found", Category);

如何获取名称的值? (注意:在节点JS中工作)

3 个答案:

答案 0 :(得分:3)

toArray是一个返回promise的异步函数。您可以通过以下两种方式之一获取类别:

承诺风格:

collection.find({},{ name: true }).toArray()
    .then(categories => {
        console.log(categories);
    });

回调风格:

collection.find({},{ name: true }).toArray((err, categories) => {
    console.log(categories);
});

当然,最好有一些错误处理:将.catch添加到promise链中,或检查回调中err是否真实。

答案 1 :(得分:3)

由于您获得了承诺,您可以使用.then()来获取结果,然后通过循环获取您的数据:)

collection
    .find({}, { name: true })
    .toArray()
    .then(function(result) { 

        result.forEach(function(data) {

            console.log("name: %s", data.name); 

        });

    });

玩得开心:)

答案 2 :(得分:0)

要获取数组中的值,您可以使用 distinct() 方法,如下所示:

collection.distinct("name").then(function(categories) { 
    console.log("Categories Found", categories); 
    console.log("First Category", categories[0]); 
})

或使用回调函数:

collection.distinct("name", function(err, categories) { 
    if (err) throw err;
    console.log("Categories Found", categories); 
    console.log("First Category", categories[0]); 
})