我是棱角分明的新手,我刚开始用mongoose处理mongodb。
在我的应用程序中,我需要获取驱动程序的名称列表作为字符串数组,但是,我正在获取具有对象ID的对象数组。
{
"_id": "5aa90ab23c49a72488afab7a",
"name": "mr. Rusiru ekanayaka"
},
{
"_id": "5aa90d4ba8c6b35438a8b132",
"name": "mr. Gihan ekanayaka"
},
{
"_id": "5aa90d56a8c6b35438a8b133",
"name": "mr. Gihan ekanayaka"
}
}
但我需要这样的东西,
[
' mr. Gihan ekanayaka,
' mr. rusiru ekanayaka ',
' mr. Gihan ekanayaka '
]
我想我可以通过遍历对象在我的后端重新格式化。无论如何,在集合中只有一个文档字段作为没有对象id的字符串数组?
在我的Driver模型中,我确实喜欢这个。
module.exports.getDrivers = function(callback){
Driver.find({},'name',callback);
}
答案 0 :(得分:1)
试试这个:
module.exports.getDrivers = function(callback){
Driver.distinct('name', callback);
}
答案 1 :(得分:1)
试试这个
module.exports.getDrivers = function(callback){
Driver.find({},{'_id' : 0,'name' : 1},callback);
}
答案 2 :(得分:0)
一种方法是使用map,例如:
Driver.find({}).map(driver => driver.name);
(调整代码以适应您的编码环境)将返回一个driver.name项目数组,如下所示:
[
"mr. Rusiru ekanayaka",
"mr. Gihan ekanayaka",
"mr. Gihan ekanayaka"
]