簡體   English   中英

如何查詢 mongoose 中的服務器啟動?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM