반응형
Mongoose : 전체 사용자 목록 가져 오기
Mongoose를 사용하여 다음과 같이 모든 사용자 목록을 보내려고했습니다.
server.get('/usersList', function(req, res) {
var users = {};
User.find({}, function (err, user) {
users[user._id] = user;
});
res.send(users);
});
물론 res.send(users);
은 {}
내가 원하는 것이 아닌 을 보낼 것 입니다. 거기에 find
다음과 같은 처리를 할 수있는 약간 다른 의미와 대안은?
server.get('/usersList', function(req, res) {
User.find({}, function (err, users) {
res.send(users);
});
});
기본적으로 모든 사용자가 데이터베이스에서 가져온 경우에만 콜백이 실행되기를 원합니다.
에서 _id
로 매핑을 반환 user
하려면 항상 다음을 수행 할 수 있습니다.
server.get('/usersList', function(req, res) {
User.find({}, function(err, users) {
var userMap = {};
users.forEach(function(user) {
userMap[user._id] = user;
});
res.send(userMap);
});
});
find()
일치하는 모든 문서를 배열로 반환하므로 마지막 코드가 해당 배열을 클라이언트로 보냅니다.
데이터를 뷰로 보내려면 다음을 전달하십시오.
server.get('/usersList', function(req, res) {
User.find({}, function(err, users) {
res.render('/usersList', {users: users});
});
});
뷰 내에서 사용자 변수를 사용하여 데이터를 반복 할 수 있습니다.
이것은 @soulcheck의 답변의 개선 사항이며 forEach (닫는 대괄호 누락)의 오타를 수정했습니다.
server.get('/usersList', (req, res) =>
User.find({}, (err, users) =>
res.send(users.reduce((userMap, item) => {
userMap[item.id] = item
return userMap
}, {}));
);
);
건배!
데이터를 나열하는 매우 쉬운 방법이 있습니다.
server.get('/userlist' , function (req , res) {
User.find({}).then(function (users) {
res.send(users);
});
});
비동기 대기 및 화살표 기능으로도 동일하게 수행 할 수 있습니다.
server.get('/usersList', async (req, res) => {
const users = await User.find({});
const userMap = {};
users.forEach((user) => {
userMap[user._id] = user;
});
res.send(userMap);
});
경우에 우리가 원하는 list all documents in Mongoose collection
이후 update
또는delete
함수를 다음과 같이 편집 할 수 있습니다.
exports.product_update = function (req, res, next) {
Product.findByIdAndUpdate(req.params.id, {$set: req.body}, function (err, product) {
if (err) return next(err);
Product.find({}).then(function (products) {
res.send(products);
});
//res.send('Product udpated.');
});
};
이것은 list all documents
단지 성공하는 대신에showing success message
참고 URL : https://stackoverflow.com/questions/14103615/mongoose-get-full-list-of-users
반응형
'Programing' 카테고리의 다른 글
MySQL에서 날짜 비교 (0) | 2020.10.14 |
---|---|
Android : 코드에서 속성 값을 얻는 방법은 무엇입니까? (0) | 2020.10.14 |
ng 스타일을 사용하여 div 너비를 설정하는 방법 (0) | 2020.10.14 |
UITableViewAutomaticDimension을 사용하여 UITableViewCell을 제자리에서 업데이트 한 후 불규칙한 스크롤 (0) | 2020.10.14 |
Angular 버전을 확인하는 방법은 무엇입니까? (0) | 2020.10.14 |