Category = collection.find({},{ name: true }).toArray();
console.log("Categories Found", Category);输出:
Promise { [ 
            { name: 'Agriculture' },
            { name: 'engineer' } 
        ] }如何获得名称的值?(注:在节点JS工作)
发布于 2016-12-22 14:23:57
toArray是一个异步函数,它返回承诺。您可以通过两种方法中的一种获得您的类别:
承诺风格:
collection.find({},{ name: true }).toArray()
    .then(categories => {
        console.log(categories);
    });回调风格:
collection.find({},{ name: true }).toArray((err, categories) => {
    console.log(categories);
});当然,有一些错误处理是一个很好的实践:将.catch添加到允诺链中,或者检查err在回调中是否真实。
发布于 2016-12-22 14:26:43
由于您得到了一个承诺,您可以使用.then()获取结果,然后使用一个循环获得数据:)
collection
    .find({}, { name: true })
    .toArray()
    .then(function(result) { 
        result.forEach(function(data) {
            console.log("name: %s", data.name); 
        });
    });玩得开心:)
发布于 2016-12-22 14:32:44
要获取数组中的值,可以使用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]); 
})https://stackoverflow.com/questions/41285253
复制相似问题