【发布时间】:2020-04-24 19:56:51
【问题描述】:
我正在尝试使用带有 fetch() 函数的 promise 从前端访问 mongo db,但它不起作用。
var Promise = () => (
new Promise((resolve, reject) => {
//do something, fetch something....
//you guessed it, mongo queries go here.
db.collection('users').find()
console.log('users');
.then(function(result){
var somethingWentWrong = (dataReturned == null);
(somethingWentWrong)
? reject('something messed up')
: resolve(result);
})
)
<tr>
<div class="first">
<td class="data">{{ this.firstname}}</td>
</div>
<div class="last">
<td class="data">{{ this.lastname}}</td>
</div>
<div class="email">
<td class="data">{{ this.email }}</td>
</div>
</tr>
【问题讨论】:
-
这里
fetch()在哪里使用??还有它的服务器端编码,但你的帖子说它的前端。有什么错误吗?? -
而且你真的不应该隐藏全局
Promise对象。 -
我刚刚添加了前端代码。谢谢。
-
你必须为 getUsers 创建一个 RESTAPI 并且它的工作方式类似于基于 node.js 的 api/users/ 然后你必须编写一个控制器,在其中收集所有用户。
getUsers(){ return new Promise((resolve, reject) => { db.collection("user").findOne({}, (err, result) => { if (err) throw err; resolve(result); }).catch(error =>{ reject(error) }); }) }
标签: javascript mongodb express promise fetch