首页 > 其他 > 详细

mongoose 文档(三) Documents

时间:2016-02-05 19:09:55      阅读:182      评论:0      收藏:0      [点我收藏+]

mongoose 的 document 与MongoDB 的 document 一一对应。每个document都是它的model的实例。

 

1、检索

 在MongoDB中有很多方法检索document。我们不会在这一节中涉及。详细请看 querying 节。

 

2、更新

 有很多种方法修改 document。我们首先看传统方法findById。

Tank.findById(id, function (err, tank) {
  if (err) return handleError(err);
  
  tank.size = ‘large‘;
  tank.save(function (err) {
    if (err) return handleError(err);
    res.send(tank);
  });
});

这种方法包括先从Mongo检索document,然后发出修改命令(通过调用保存触发)。可是,如果我们不需要在应用程序中返回document而是只不过想直接修改数据库中的属性,Model#update 适合我们。

Tank.update({ _id: id }, { $set: { size: ‘large‘ }}, callback);

 

如果我们想要应用程序中返回document,有一个更好的选项

Tank.findByIdAndUpdate(id, { $set: { size: ‘large‘ }}, function (err, tank) {
  if (err) return handleError(err);
  res.send(tank);
});

 静态方法findAndUpdate/Remove 最多只改变一个document,并只通过一个调用返回到数据库。在 findAndModifu 主题 变化。阅读API文档查看更多细节。注意findAndUpdate/Remove在修改数据库前不执行任何钩子或验证。如果你想要钩子和验证,先检索 document 然后保存它。

 

3、验证

 document在保存前进行验证。详情阅读API文档或validation节。

 

mongoose 文档(三) Documents

原文:http://www.cnblogs.com/surahe/p/5180870.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!