使用 mongodb comapss 在我的数据库中添加了一些 json 数据并尝试使用 mongoose 获取数据但得到空数组

时间:2021-08-01 17:00:37

标签: node.js json mongodb mongoose mongodb-compass

我下载了一些 json 格式的餐厅数据,并使用 mongodb compass 添加到本地主机。但是当我尝试使用 mongoose 从 express 后端获取数据时,我得到了一个空数组。

数据库名称是sampleRestaurants,集合名称是restaurants。数据库托管在端口 27017 上。

使用此代码连接到 mongodb 数据库:

const dbURI = "mongodb://127.0.0.1:27017/sampleRestaurants";
mongoose
  .connect(dbURI, { useNewUrlParser: true, useUnifiedTopology: true })
  .then((result) => {
    app.listen(5000, () => console.log("server is listening on port 5000"));
  })
  .catch((err) => console.log(err));

然后创建模式:(我什至需要模式来获取所有数据!)

const restaurantSchema = new Schema(
  {
    name: String,
    neighborhood: String,
    photograph: String,
    address: String,
    latlng: Object,
    cuisine_type: String,
    operating_hours: Object,
    reviews: Array,
  }
);

const Restaurant = mongoose.model("Restaurant", restaurantSchema);

尝试获取所有餐厅数据:

app.get("/all-restaurants", (req, res) => {
  Restaurant.find()
    .then((result) => res.send(result))
    .catch((err) => console.log(err));
});

结果是:[ ]

如何获取餐厅的所有数据?

1 个答案:

答案 0 :(得分:0)

终于成功了,多亏了 joe,可能是指南针有问题,使用 mongo shell 解决了错误。