[英]How to query on start of server in mongoose?
開始.js:
const express = require('express')
const app = express()
const port = 3000
mongoose.connect('mongodb://localhost:27017/myapp', {useNewUrlParser: true}); //to connect with mongodb..not exact code I used but this
現在假設我已經將一些數據存儲在 mongodb ....in存儲在 model 書籍中的書籍集合中
我調用 model 並從中獲取:
const bookdetails = Books.find({ }).exec()
我試過了:
var respo;
bookdetails.then(function(result) {
console.log(result) //gives the value stored in bookdetails
respo = result;
})
console.log(respo) //...but value not stored in here...it gives undefined
但是它給出了 console.log(bookdetails).... Promise { }而不是存儲在圖書集合中的所有數據。 如何在服務器啟動時獲取數據....如果我通過路由使用或調用 api 它工作得很好
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
您可以添加將在 promise 解決或使用 async/await 后執行的回調
let bookDetails ;
Books.find()
.exec(function (err, book) {
if(err)
throw new Error(err)
else
bookDetails = book
});
或者
const bookdetails = await Books.find({ })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.