나는 빠른 둘러보기를 보았지만 답을 찾지 못했지만 기본적으로 express가 아닌 node.js와 mongodb를 사용하여 평소보다 webapi를 만들었습니다. 닷넷 MVC 웹 API 경로.mongodb nodejs toArray 각각 대
필자가 언급 한 한 가지 사실은 결과 집합을 반환하기 위해 내가 부피가 큰 방식으로 수행하고 있거나 적어도 그렇게 느끼는 방식입니다.
app.get('/property', function (req, res) {
var propArray = [];
MongoClient.connect(settings.connection,
function (err, db) {
if (err) throw err;
var properties = db.collection("PROPERTIES");
var searchParams = {
Active: true,
Deleted: false
}
properties.count(searchParams, function (err, count) {
properties.find(searchParams).toArray(function (err, result) {
for (i = 0; i < count; i++)
propArray.push(new models.propertyModel(result[i]));
db.close();
return res.json(propArray);
});
});
}
);
});
지금 나는 내가
.count
기능을 줄일 수로 사용하는 것을 선호하지만, 분명 당신이 한 번만 응답을 반환 할 수
.each
기능보다는
.toArray
가 있다고 지적했습니다. 네가 너의 몽고 지식으로 나를 깨우칠 수 있는지 궁금해.
properties.find(searchParams).each(function (err, result) {
return res.json(result);
});
그런 식으로 6 줄의 코드와 데이터베이스에 대한 추가 호출을 잘라냅니다.
왜'대신'count'의 result.length'을 사용하여 바로 사용하지 않는? –
Ahhh 감사합니다. 나는이 소감에 대해 잘 몰랐습니다. 정확히 내가 듣기를 바라는 종류의 것입니다. –
정말 감사합니다. 대단히 감사합니다! –