Bob*_*Ren 104 mongoose mongodb node.js
例如,此代码会生成一个名为"datas"的集合
var Dataset = mongoose.model('data', dataSchema);
Run Code Online (Sandbox Code Playgroud)
此代码导致创建一个名为"users"的集合
var User = mongoose.model('user', dataSchema);
Run Code Online (Sandbox Code Playgroud)
谢谢
aar*_*ann 172
猫鼬正试图变得聪明.然而,你可以强迫它成为你想要的任何东西:
var dataSchema = new Schema({..}, { collection: 'data' })
Nis*_*gla 41
mongoose.model的API结构是这样的:
Mongoose#model(name, [schema], [collection], [skipInit])
Run Code Online (Sandbox Code Playgroud)
mongoose做的是,当没有传递集合参数时,Mongoose通过复制模型名称来生成集合名称.如果您不喜欢此行为,请传递集合名称或设置模式集合名称选项.
例:
var schema = new Schema({ name: String }, { collection: 'actor' });
Run Code Online (Sandbox Code Playgroud)
要么
schema.set('collection', 'actor');
Run Code Online (Sandbox Code Playgroud)
要么
var collectionName = 'actor'
var M = mongoose.model('Actor', schema, collectionName);
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以简单地添加一个字符串作为第三个参数来定义集合的实际名称。扩展示例,以使名称分别为data
和user
:
var Dataset = mongoose.model('data', dataSchema, 'data');
var User = mongoose.model('user', dataSchema, 'user');
Run Code Online (Sandbox Code Playgroud)
//Mongoose's definition file. NOT your model files
1 const mongoose = require("mongoose");
2 mongoose.pluralize(null);
Run Code Online (Sandbox Code Playgroud)
mongoose.pluralize(null)
在您的 Mongoose 文件中添加该行将阻止集合名称的复数形式。您不需要将此行添加到模型文件中。
如这里所见。
归档时间: |
|
查看次数: |
32080 次 |
最近记录: |