gpt4 book ai didi

node.js - Mongoose 从集合中获取所有内容返回一个空列表

转载 作者:太空宇宙 更新时间:2023-11-03 23:18:44 26 4
gpt4 key购买 nike

我在项目中创建了一个新集合,并遵循检索所有用户的相同语法来检索该集合中的所有内容,但由于某种原因我最终得到一个空数组或列表。有人可以告诉我为什么吗,因为我对 MongoDB 相当陌生。下面是我的代码。当我在查询之前放置 console.log 并调用它时,该服务正在被调用。另外,将数据保存到数据库也可以,只是 getAll 我在做时遇到了麻烦。该集合只有一个字段,即帐号。

在我的服务中

async function getAll() {
return await accountdb.find({});
}

Controller

function getAll(req, res, next) {
accountdbService.getAll()
.then(account => res.json(account))
.catch(err => next(err));
}

在前端我有

 getAll() {
return this.http.get<account[]>(`${environment.apiUrl}/account`);
}

最后在组件中

ngOnInit() {
this.loadAllAccounts();
}

private loadAllAccounts() {
this.AccountService.getAll().pipe(first()).subscribe(account => {
this.accounts = account;
console.log(this.accounts);
});
console.log(this.accounts);

}

调用api时postman响应:

[
{
"_id": "5b89e647e1e6540ac28d68b1",
"logDataInput": "admin changed the status of user test2 to manager",
"__v": 0,
"id": "5b89e647e1e6540ac28d68b1"
},
{
"_id": "5b89e648e1e6540ac28d68b2",
"logDataInput": "admin changed the status of user test2 to User",
"__v": 0,
"id": "5b89e648e1e6540ac28d68b2"
},
{
"_id": "5b8a2a6b16206e0cae8c71ba",
"logDataInput": "admin deactivated user test2",
"__v": 0,
"id": "5b8a2a6b16206e0cae8c71ba"
}
]

network tool 2 api calls picture

最佳答案

看起来您在 getAll 函数的响应中发送了错误的变量。

    .then(logTrack => res.json(account)

将其更改为

    .then(logTrack => res.json(logTrack)

关于node.js - Mongoose 从集合中获取所有内容返回一个空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52125425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com