mongoose4.5中文教程
  • Introduction
  • Mongoose
  • guide
    • 模式(schemas)
      • 模式类型(types)
      • 自定义类型(custom)
    • 模型(models)
    • 文档(documents)
      • 子文档(sub docs)
      • 默认值(defaults)
    • 查询(queries)
    • 验证(validation)
    • 中间件(middleware)
    • 联表(population)
    • 连接(connections)
    • 插件(plugins)
    • 承诺(promises)
    • 鉴频器(discriminators)
    • 贡献
    • ES2015 整合
    • 浏览器中的schemas
    • 自定义schema类型
    • MongoDB版本兼容性
    • 3.6 发布说明
    • 3.8 发布说明
    • 4.0 发布说明
  • API 文档
Powered by GitBook
On this page
  • Models
  • 编译你的第一个模型
  • 构建文档
  • 查询
  • 删除
  • 更新
  • 然而,更多的

Was this helpful?

  1. guide

模型(models)

Previous自定义类型(custom)Next文档(documents)

Last updated 6 years ago

Was this helpful?

原文: 翻译:小虾米(QQ:509129)

Models

从我们的Schema定义的构造函数编译。实例这些模型代表可以从我们的数据库中保存和检索。从数据库中依靠这些模型来操作所有文档创建和检索。

编译你的第一个模型

var schema = new mongoose.Schema({ name: 'string', size: 'string' });
var Tank = mongoose.model('Tank', schema);

第一个参数是你的模型集合的单数名称。Mongoose会自动寻找你的模型名称的复数形式。因此,对于上面的示例,模型Tank是用于数据库中的tanks集合的。.model() 功能使得到schema的副本。确信你已经添加了你想要的一切在调用.model()之前!

构建文档

文档是我们模型的实例。创建它们,并保存到数据库是很容易的:

var Tank = mongoose.model('Tank', yourSchema);

var small = new Tank({ size: 'small' });
small.save(function (err) {
  if (err) return handleError(err);
  // saved!
})

// or

Tank.create({ size: 'small' }, function (err, small) {
  if (err) return handleError(err);
  // saved!
})

请注意,没有tanks 将创建/删除,直到连接您的模型使用是打开的。每一个模型都有一个关联的连接。当你使用mongoose.model()。你的模型将要使用默认mongoose连接。

mongoose.connect('localhost', 'gettingstarted');

如果你创建一个自定义的连接,使用连接的model()函数代替。

var connection = mongoose.createConnection('mongodb://localhost:27017/test');
var Tank = connection.model('Tank', yourSchema);

查询

Tank.find({ size: 'small' }).where('createdDate').gt(oneYearAgo).exec(callback);

删除

模型有一个静态删除方法,可用于移除所有匹配条件的文档。

Tank.remove({ size: 'large' }, function (err) {
  if (err) return handleError(err);
  // removed!
});

更新

每个模型都有自己的更新方法,用于修改数据库中的文档,不将它们返回到您的应用程序。

然而,更多的

对于Mongoosecha的查找文档很容易,它支持的查询MongoDB语法。文件可以使用每个模型中使用 ,,,或者,静态方法。

查看关于如何使用API的详细信息的章节。

详细看文档。

如果你想要更新一个文档数据库,并将结果返回给你的应用程序,使用代替。

API文档包含了许多额外的方法,像 ,,,。

Models
模型
文档
丰富
find
findById
findOne
where
查询
querying
API
findOneAndUpdate
count
mapReduce
aggregate
更多