v2
输出:
Category = collection.find({},{ name: true }).toArray();
console.log("Categories Found", Category);
如何获取名称的值? (注意:在节点JS中工作)
答案 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]);
})