连接到 mongoDB
Posted
技术标签:
【中文标题】连接到 mongoDB【英文标题】:connection to mongoDB 【发布时间】:2018-12-20 06:20:04 【问题描述】:我是 nodeJS 和 mongodb 的新手。我无法将我的代码与 mongodb 连接起来。这是我的代码。当我运行这段代码时,它给了我这个,
(node:9160) DeprecationWarning: 当前 URL 字符串解析器是 已弃用,并将在未来的版本中删除。要使用新 解析器,将选项
useNewUrlParser: true
传递给MongoClient.connect
。
我该如何解决?
var express = require("express");
var mongoose = require("mongoose");
var passport = require("passport");
var bodyParser = require("body-parser");
var LocalStrategy = require("passport-local");
var passportLocalMongoose = require("passport-local-mongoose");
mongoose.connect("mongodb://localhost/mydb");
// mongoose.connect("mongodb://localhost:27017/mydb_login", useNewUrlParser: true )
var app = express();
app.set("view engine", "ejs");
【问题讨论】:
Connect mongo db to remote server nodejs的可能重复 【参考方案1】:试试吧,我想它会帮助你。
let MONGOOSE = require('mongoose');
MONGOOSE.connect('mongodb://127.0.0.1:27017/demo', (err, response)=>
if(err)
reject(err);
else
resolve(null);
);
【讨论】:
我应该在哪个文件中添加这个 sn-p? 您可以创建一个新文件,也可以直接将其添加到 server.js 文件中。这完全取决于你的结构。【参考方案2】:我建议替换你的这个声明
mongoose.connect("mongodb://localhost/mydb");
使用这种类型的一种:
mongoose.connect(uri)
.then(
() =>
console.log("Connected");
,
err =>
console.log(err);
);
这将帮助您了解连接是否已建立,以及如果未建立,则相应的错误是什么。
【讨论】:
【参考方案3】:只需将 useNewUrlParser: true 添加到连接选项对象
mongoose.connect("mongodb://localhost/mydb", useNewUrlParser: true );
这是由于新的解析器版本
【讨论】:
【参考方案4】:将此代码放在布局文件中,而不是 app.js 中:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/yourDatabase', useNewUrlParser: true );
var Schema = mongoose.Schema;
然后你可以创建你的 Schema 布局,例如:
var mySchema = new Schema(
first_name: String,
last_name: String
);
【讨论】:
【参考方案5】:100% 工作方法跟我来
-
在您的项目中找到 mongoose.connect(db) 文件....
它可以在 Custom 文件夹 或 server.js 中找到
在 mongoose.connect(db) 中替换 mongoose.connect(db, useNewUrlParser: true )
见图片
【讨论】:
以上是关于连接到 mongoDB的主要内容,如果未能解决你的问题,请参考以下文章