我是NodeJ的新手,我正在学习如何使用带有Mongoose库的NodeJS连接到mongodb。据我所知,当我使用一个名称连接数据库时,如果该名称的数据库不存在,猫鼬会自动创建它,但是不会与我一起创建它。 这是我的代码:
const mongoose = require("mongoose");
mongoose.connect("mongodb://127.0.0.1:27017/mongo-test", {useNewUrlParser: true})
.then(() => console.log("Connected"))
.catch(err => console.log(err));
猫鼬版本:^5.2.5
答案 0 :(得分:7)
我不确定100%,但是您还需要创建一条记录才能创建数据库。 显然,仅在连接字符串上指定数据库名称是不够的。
欢呼
答案 1 :(得分:4)
Pedro是正确的,当您将第一个文档保存到数据库中时,猫鼬会创建数据库和该文档的集合。
数据库名称将是连接中指定的名称,在这种情况下为 myapp :
mongoose.connect('mongodb://localhost:27017/myapp');
猫鼬文档:Connections
猫鼬用复数名称创建收藏。
如果您的模型带有Tank名称,则收藏名称将为坦克:
var schema = new mongoose.Schema({ name: 'string', size: 'string' });
var Tank = mongoose.model('Tank', schema);
第一个参数是模型集合的单数名称 是为了。猫鼬会自动寻找您的复数形式 型号名称。因此,对于上面的示例,模型Tank用于 数据库中的坦克集合。
猫鼬文档:Model