我有一个从datebase中提取数据的应用程序:
db.books.find().sort({ _id: 1 }).limit(count).toArray(function (err, results) {
if (err) {
next(err, null);
} else {
next(null, results);
}
});
每本书都有长文字说明,但我不想获得每本书的全文,所以我决定使用map
方法来预测结果,这样我才能得到描述的字符数:
db.books.find().sort({ _id: 1 }).limit(count)
.map(function(item) {
return {
description: item.description.substring(0, 50),
,....
}
}).toArray(function (err, results) {
if (err) {
next(err, null);
} else {
next(null, results);
}
});
但是当我使用substring
方法时,应用程序挂起,我看不到结果。
有什么想法吗?
答案 0 :(得分:1)
我的坏!有些书没有描述,它们是undefined
。我只是通过一个简单的检查解决了它:
description: item.description != undefined ? item.description.substring(0, 50) : 'no description',