node.js - 使用 mongoose 设置数据库和集合
问题描述
如何使用 mongoose 设置我的数据库和集合?我正在尝试使用 mongoose 连接到 mongodb atlas 数据库。我的数据库名为“test_db”,集合名称为“users”,我将在哪里指定该信息?
这是我的shema(data.js):
// /backend/data.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
// this will be our data base's data structure
const DataSchema = new Schema(
{
_id: Number,
name: String,
password: String
}
);
// export the new Schema so we could modify it using Node.js
module.exports = mongoose.model("users", DataSchema);
这是 server.js:
const mongoose = require('mongoose');
const express = require('express');
var cors = require('cors');
const bodyParser = require('body-parser');
const logger = require('morgan');
const Data = require('./data');
const API_PORT = 3001;
const app = express();
app.use(cors());
const router = express.Router();
// this is our MongoDB database
const dbRoute = 'mongodb+srv://<user>:<password>@cluster0-bmihj.mongodb.net/test?retryWrites=true&w=majority';
;
// connects our back end code with the database
const conn = mongoose.connect(dbRoute, { useNewUrlParser: true });
//let db = mongoose.connection;
const db = conn.db('test_db');
var MyModel = mongoose.model('Test', new Schema({ name: String }));
db.once('open', () => console.log('connected to the database'));
// checks if connection with the database is successful
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
// this is our get method
// this method fetches all available data in our database
router.get('/getData', (req, res) => {
Data.find((err, data) => {
if (err) return res.json({ success: false, error: err });
return res.json({ success: true, data: data });
});
});
解决方案
通过这一行,您连接到 MongoDB:
const conn = mongoose.connect(dbRoute, { useNewUrlParser: true })
考虑:
dbRoute = mongodb://DB-username:DBpassword@ds245901.mlab.com:44422/Database-Name";
这是您的数据信息
DB-username = Your database user name
DBpassword = Your database password
Database-Name = Your database name (which database you want to use)
因此,无需像这样连接到所需的数据库:
const db = conn.db('test_db');
推荐阅读
- java - 如何设置 GridDB JDBC 连接到使用 Fix_list 或提供程序模式运行的 GridDB 服务器?
- laravel - 如何在 laravel 中克隆具有自相关/自引用的数据
- java - 如何使用 JPA Criteria 在子查询中选择多个列
- json - 使用 JSON 在 Angular 中存储模板驱动的表单数据
- huawei-mobile-services - HMS应用开发 - 我丢失了华为应用程序库的签名密钥
- swift - 委托方法内部的代码未在 Xcode 内部运行
- reactjs - 为函数/无状态组件的方法创建单元测试
- jupyter-notebook - Jupyter 笔记本的包装器
- python - Python:解析 Excel 单元格符号以分别检索列和行
- reactjs - 反应 - 无法读取未定义的属性'question_desc'