le *_*huy 20 mongodb node.js express
mongoose.connect(process.env.DATABASE_URL, {useNewUrlParser: true});
const MyModel = mongoose.model(mymodel, new Schema({ name: String }));
Run Code Online (Sandbox Code Playgroud)
这将创建一个名为“test”的数据库和一个名为“mymodel”的集合。如何更改数据库的“测试”名称?
小智 55
如果您要在远程 mongoDB 服务器上发布数据,请确保在连接 url 中的“?retryWrites”之前写入数据库名称。可能会写为“测试”或什么也不写。如果存在“test”,请将其替换为您的数据库名称,如果没有,请在“?”之前写入数据库名称 标记。
mongodb+srv://<username>:<password>@cluster0.vbaw8.mongodb.net/<database_name>?retryWrites=true&w=majority
Run Code Online (Sandbox Code Playgroud)
问题是您没有在连接 URI 中指定数据库名称,也没有在连接选项中指定数据库名称:
const connctionUri = `mongodb://localhost:27017/database_name`
connect(connectionUri, connectionOptions).then(...).catch(...)
Run Code Online (Sandbox Code Playgroud)
或者这是替代方案,
const connectionpOptions = {
dbName: `your database name`,
useNewParser: true,
useUnifiedTopology: true,
.
.
.
}
const connectionUri = `mongodb://localhost:27017`
connect(connectionUri, connectionOptions).then(...).catch(...)
Run Code Online (Sandbox Code Playgroud)
您必须更改连接字符串。process.env.DATABASE_URL 必须更改。在 .env 文件中,如果有的话,将 DATABASE_URL 更改为
mongodb://localhost:27017/myapp
Run Code Online (Sandbox Code Playgroud)
这里数据库的名称将是 myapp。现在您可以将其命名为任何您想要的名称,而不是 myapp。只需替换 myapp 的文本即可。
const MyModel = mongoose.model('Collection Name', new Schema({ name: String }));
Run Code Online (Sandbox Code Playgroud)
为您的集合提供任何名称选择来代替字符串集合名称,而不是 mymodel。即使您给出大写的集合名称,MongoDB 也会以小写字母保存集合。
| 归档时间: |
|
| 查看次数: |
21284 次 |
| 最近记录: |