Angularjs 如何使用在mongoose中查找来显示成员集合中的所有成员

Angularjs 如何使用在mongoose中查找来显示成员集合中的所有成员,angularjs,node.js,mongodb,mongoose,Angularjs,Node.js,Mongodb,Mongoose,我有一个使用平均堆栈构建的应用程序,使用此方法时,我能够一次显示一条记录: 在我的会员模式中,我有: module.exports.getMemberByRFID = function(rfidkey, callback){ const query = {rfidkey: rfidkey} Member.findOne(query, callback); } 在我的路由文件中,我有: // Authenticate Member router.post('/authenticatemember

我有一个使用平均堆栈构建的应用程序,使用此方法时,我能够一次显示一条记录:

在我的会员模式中,我有:

module.exports.getMemberByRFID = function(rfidkey, callback){
const query = {rfidkey: rfidkey}
Member.findOne(query, callback);
}
在我的路由文件中,我有:

// Authenticate Member
router.post('/authenticatemember', (req, res, next) => {
const rfidkey = req.body.rfidkey;

Member.getMemberByRFID(rfidkey, (err, member) => {
    if(err) throw err;
    if(member){
        const token = jwt.sign(member, config.secret, {
                expiresIn: 50 //1 week
            });

            res.json({
                success: true,
                token: 'JWT2 '+token,
                member: {
                    id: member._id,
                    firstname: member.firstname,
                    surname: member.surname,
                    email: member.email,
                    expirydate: member.expirydate
                }
            });
        } else {
            return res.json({success: false, msg: 'member not found'});
        }
        })
});
 authenticateMember(member){
let headers = new Headers();
headers.append('Content-Type', 'application/json');
return this.http.post('http://localhost:3000/users/authenticatemember', member,{headers: headers})  
  .map(res => res.json());
在我的AuthService.ts文件中,我有:

// Authenticate Member
router.post('/authenticatemember', (req, res, next) => {
const rfidkey = req.body.rfidkey;

Member.getMemberByRFID(rfidkey, (err, member) => {
    if(err) throw err;
    if(member){
        const token = jwt.sign(member, config.secret, {
                expiresIn: 50 //1 week
            });

            res.json({
                success: true,
                token: 'JWT2 '+token,
                member: {
                    id: member._id,
                    firstname: member.firstname,
                    surname: member.surname,
                    email: member.email,
                    expirydate: member.expirydate
                }
            });
        } else {
            return res.json({success: false, msg: 'member not found'});
        }
        })
});
 authenticateMember(member){
let headers = new Headers();
headers.append('Content-Type', 'application/json');
return this.http.post('http://localhost:3000/users/authenticatemember', member,{headers: headers})  
  .map(res => res.json());
}

在前面的角度TS文件中,我有:

onSearchSubmit(){
    var inputElement = <HTMLInputElement>document.getElementById('rfidkey');
    const member = {
        rfidkey: inputElement.value
    }
    this.authService.authenticateMember(member).subscribe(data => {
        if(data.success){
            this.authService.storeMemberData(data.token, data.member)
                console.log(data.member);

                var newexpiry = new Date(data.member.expirydate);
                var today = new Date();

                if (today > newexpiry) {
                    this.flashMessage.show('member has expired', {
                cssClass: 'alert-danger', 
                timeout: 5000});
                } else {
                    this.flashMessage.show('member is active', {
                cssClass: 'alert-success', 
                timeout: 5000});
                }



                var n = newexpiry.toString();

                var inputElement = <HTMLInputElement>document.getElementById('firstname');
                    inputElement.value = data.member.firstname;
                var inputElement = <HTMLInputElement>document.getElementById('surname');
                    inputElement.value = data.member.surname;
                var inputElement = <HTMLInputElement>document.getElementById('email');
                    inputElement.value = data.member.email;
                var inputElement = <HTMLInputElement>document.getElementById('expirydate');
                    inputElement.value = n;



        //  this.router.navigate(['searchmember']);
        } else {
            this.flashMessage.show(data.msg, {
                cssClass: 'alert-danger', 
                timeout: 5000});
            var inputElement = <HTMLInputElement>document.getElementById('firstname');
                    inputElement.value = "";
                var inputElement = <HTMLInputElement>document.getElementById('surname');
                    inputElement.value = "";
                var inputElement = <HTMLInputElement>document.getElementById('email');
                    inputElement.value = "";
                var inputElement = 
<HTMLInputElement>document.getElementById('expirydate');
                    inputElement.value = "";
            this.router.navigate(['/searchmember']);
        }
    });

}
onSearchSubmit(){
var inputElement=document.getElementById('rfidkey');
常量成员={
rfidkey:inputElement.value
}
this.authService.authenticateMember(成员).subscribe(数据=>{
if(data.success){
this.authService.storeMemberData(data.token,data.member)
console.log(data.member);
var newexpiry=新日期(data.member.expirydate);
var today=新日期();
如果(今天>新到期日){
this.flashMessage.show('成员已过期'{
cssClass:“警惕危险”,
超时:5000});
}否则{
this.flashMessage.show('成员处于活动状态'{
cssClass:“警报成功”,
超时:5000});
}
var n=newexpiry.toString();
var inputElement=document.getElementById('firstname');
inputElement.value=data.member.firstname;
var inputElement=document.getElementById('姓氏');
inputElement.value=data.member.name;
var inputElement=document.getElementById('email');
inputElement.value=data.member.email;
var inputElement=document.getElementById('expirydate');
inputElement.value=n;
//this.router.navigate(['searchmember']);
}否则{
this.flashMessage.show(data.msg{
cssClass:“警惕危险”,
超时:5000});
var inputElement=document.getElementById('firstname');
inputElement.value=“”;
var inputElement=document.getElementById('姓氏');
inputElement.value=“”;
var inputElement=document.getElementById('email');
inputElement.value=“”;
变量inputElement=
document.getElementById('expirydate');
inputElement.value=“”;
this.router.navigate(['/searchmember']);
}
});
}
这给了我以下结果:

现在我想做的是有一个名为displayallmembers的页面,并在一个可以搜索和排序的datatable中显示所有记录

有人知道我如何找到mongoose的所有记录,并将所有成员的列表发送到前端Angular 2应用程序并将其放入表中吗


谢谢

你被卡在哪一部分?使用Mongoose查找所有数据,或从应用程序请求数据,或在表中显示数据,或所有内容?目前,所有内容。我不熟悉这种编码方式,通常使用SQL,但不得不切换到平均堆栈进行分配老实说,如果你没有得到任何材料来帮助完成分配,我会尝试搜索关于你遇到问题的每个部分的类似问题。目前,这并不适合SO,因为这是一个针对您的作业的真正具体的解决方案,其中包括许多部分,这些部分在这里和其他地方都有记录在案的解决方案。如果你被一个特定的任务困住了,并且自己尝试解决它,那么再搜索一些,然后我会问另一个问题。祝你好运好的,谢谢你的时间!