我有一个示例代码,显示结果,并希望将结果转换为数组.
TranModel
.find({ quantityout: 1 },
{ _id: 0} )
.sort({ tag: 1 })
.select( 'tag' )
.populate( 'createdby' )
.exec(function(err, data){
if(err){
res.json(err)
} else {
res.json(data)
}
})
Run Code Online (Sandbox Code Playgroud)
结果
[
{
"tag": "TH000001"
},
{
"tag": "TH000006"
},
{
"tag": "TH000009"
},
{
"tag": "TH000011"
},
{
"tag": "TH000014"
}
]
Run Code Online (Sandbox Code Playgroud)
我需要将结果转换为这样的结果
[
"TH000001",
"TH000006",
"TH000009",
"TH000011",
"TH000014"
]
Run Code Online (Sandbox Code Playgroud)
你不能直接从Mongoose find查询中获得它,但是你使用JavaScript Array.map函数操作输出来获得你正在寻找的东西:
TranModel
.find({ quantityout: 1 },
{ _id: 0} )
.sort({ tag: 1 })
.select( 'tag' )
.exec(function(err, docs){
docs = docs.map(function(doc) { return doc.tag; });
if(err){
res.json(err)
} else {
res.json(docs)
}
})
Run Code Online (Sandbox Code Playgroud)
我拿出了populate电话,因为这里没有任何意义,因为你没有createdBy在输出中包括.
| 归档时间: |
|
| 查看次数: |
7828 次 |
| 最近记录: |