我下载了一些 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));
});
结果是:[ ]
如何获取餐厅的所有数据?
答案 0 :(得分:0)
终于成功了,多亏了 joe,可能是指南针有问题,使用 mongo shell 解决了错误。