javascript - 如何使用Mongoose查询导入的json

标签 javascript mongodb mongoose querying mongoimport

我已经将一个 json 文件上传到 MongoDB Atlas 集群(使用 mongoimport),现在我正尝试使用 express 和 mongoose 将数据显示到本地主机。

我已经到了可以连接到集群的地步,但我在获取和显示数据方面遇到了困难。以下是我到目前为止的代码。我想使用 mongoose 通过 Nodejs 查询数据库,就像我在 Mongo shell 的命令行上所做的那样。我在这里缺少什么?

const express = require("express");
const mongoose = require("mongoose");

const app = express();

// DB config using Mongo Atlas
const uri = require("./config/keys").mongoURI;

// // Connect to Mongo
mongoose
  .connect(uri, { useNewUrlParser: true })
  .then(() => console.log("MongoDB Connected..."))
  .catch(err => console.log(err));


// @route GET
app.get("/", (req, res) => res.send(db.restaurants.find()));

const port = process.env.PORT || 5000;

app.listen(port, () => console.log(`Server started on port ${port}`));

最佳答案

首先,初始化一个Mongoose查询数据所需要的模型。由于您已导入数据,因此不必构建架构。

// restaurants.js
const mongoose = require('mongoose');

const RestaurantsSchema = new mongoose.Schema({});

module.exports = mongoose.model('Restaurants', RestaurantsSchema)

然后,将模式“Restaurants”导入到您的主驱动程序文件中,并通过链接过滤器指定您的查询,如下所示:

// main.js
const express = require("express");
const mongoose = require("mongoose");
const Restaurants = require("./restaurants");

const app = express();

// DB config using Mongo Atlas
const uri = require("./config/keys").mongoURI;

// Connect to Mongo
mongoose
  .connect(uri, { useNewUrlParser: true })
  .then(() => console.log("MongoDB Connected..."))
  .catch(err => console.log(err));

// @route GET
app.get("/", (req, res) => {
  Restaurants.find()
    .where("filter1").gt(200)
    .where("filter2").equals("$$$")
    .where("filter3").nin(["Coffee"])
    .limit(100)
    .sort("sort1")
    .select("column1 column2 column3")
    .then(restaurants => res.json(restaurants))
    .catch(err => res.status(404).json({ success: false }));
});

const port = process.env.PORT || 5000;

app.listen(port, () => console.log(`Server started on port ${port}`));

您应该填写“filter”、“sort”、“column”、“gt”、“equals”、“limit”和“nin”的适用值。

关于javascript - 如何使用Mongoose查询导入的json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57135405/

相关文章:

javascript - 图片填充.js : Need help converting <picture> to the <img> srcset/sizes method

javascript - 导轨/HTML : Change image slide every 7 seconds

javascript - 比较输入和数字

mongodb - Mongo 查询仅返回子文档的一个子集

node.js - Mongoose findOne 当数据不存在时卡住

javascript - $regex 如何在 mongoose 中以空值工作

javascript - JQUERY TAGIT 验证输入是否为数字

node.js - 如何设置 Mongoose 查询的超时时间?

java - 如何在@Query中使用mongoDB $sum

javascript - Mongoose 填充条件