Model是类,对应集合(collection)
Model类的实例对应文档(document)
monooose把所有MongoDB中的document都抽象成了Schema对象。使用的时候要mongoose.model(‘xxx’, aSchema);编译成语document对应的一个类来使用。
Mixed数据类型 声明可用
Model
model编译Schema注意事项:
let MyModel = mongoose.model('MyModel', schema);
以上为编译代码。
- model函数第一个参数必须和返回值的变量名相同,此值为Model名称。
- 生成的Model对应一个集合(collection)。
- Model对应的集合默认为Model名全小写加s。本案例中为mymodels。
如想指定集合(collection)的名称。则如下代码,把生成的Model对应到名为custom的集合上:
let MyModel = mongoose.model('MyModel', schema, 'custom');
Connnections
连接数据库代码如下,连接是异步后执行findOne方法,连接是一步的,但此方法并没有放在回调函数中。这是由于mongoose对此进行了封装,findOne方法并没有立即执行而是被压如缓冲区中,等连接成功后再执行。虽然写起来不是异步回调的样式,但是findOne确是异步执行的。
mongoose.connect('mongodb://localhost/myapp');
let MyModel = mongoose.model('Test', new Schema({ name: String }));
// Works
MyModel.findOne(function(error, result) { /* ... */ });
Query
Query类必须举例子才能说清楚。