nodejs-mongoose一些常用方法,持续记录

mongoose是nodejs一个模块,作用是提供快捷操作mongdb数据库。

安装到项目:

npm install mongoose --save

安装完成后,在app.js里添加引用

var mongoose = require(‘mongoose‘);

连接数据库

mongoose.connect(‘mongodb://localhost/name‘);

接下来我们要定义模型了,有了模型才有与数据库交互的能力,我们定义个user模型

var userSchema = new mongoose.Schema({
  username : { type : String },

  passowrd : { type : String }
});

user是表名,mongoose  会默认在后面加个s,这个没关系

var news = mongoose.model(‘userSchema‘, user);

创建数据

var save = new news({

  username : ‘admin‘,

  password : ‘123‘

})

save.save(function(err){

  if( err ) console.log(err);

  //保存成功

})

查询数据

user.find({},function(err,docs){

  if( err ) console.log( err );

  //docs 是数据集合

})

精确查询数据

user.findOne({ username : ‘admin‘ },function(err,doc){

  if( err ) console.log(err);

  //doc是查询到的该条数据,

})

根据ID查询数据

user.findById( idString ,function(err,doc){

  if( err ) console.log(err);

  //doc是查询到的该条数据,

})

注意find查询到的数据集合并不会自动排序,我们要想按时间排序可以这样写

user.find({},null,{ sort : { _id : -1 } }function(err,docs){

  if( err ) console.log( err );

  //docs 是数据集合

})

如果要取范围内的数据,如下

user.find({},null,{skip : 5, limit : 5 sort : { _id : -1 } }function(err,docs){

  if( err ) console.log( err );

  //docs 是数据集合 skip是起始, limit 是条数

})
时间: 2024-10-29 19:09:10

nodejs-mongoose一些常用方法,持续记录的相关文章

Mongoose 框架初学使用记录

嘛.... 最近由于需要使用HTTP服务端,原先是使用的Qt框架实现的HTTP服务端,然后发现有些缺陷导致我不得不放弃这个框架,也不是完全放弃,只是HTTP服务端这里不再使用Qt,用Qt做高并发真的有点不好. 然后毅然的选择了mongoose这个框架,主要是听说这玩意 嵌入到代码中非常方便.下载之后发现果然就一个 h文件和cpp文件.. 于是开始研究这个框架,根据mongoose 用户手册再加上一堆实例教程,基本上写了一个类 进行操作封装(并不是完全的封装了) MoHttp.h文件主要是实现mo

Nodejs Mongoose 共享数据库连接

许多人问:在Nodejs中如何共享Mongoose建立一个数据库连接,然后在此应用程序其它地方都使用这个数据库连接? 许多国外的帖子对此进行了讨论,但是国内相对沉闷,技术的流行程度和对技术的热衷度也可见一斑. Anyway....回到主题 下面这个例子告诉大家如何实现建立一个数据库连接之后在程序的其它地方都使用它. 例子基于Express, 按照以下步骤生成Express的目录结构并安装必要的包 1. npm install -g express-generator 2. md mytest &

nodejs mongoose populate 多层模型

参考地址:http://ronaldroe.com/populating-multiple-fields-and-levels-with-mongoose/ 文字版本 Mongoose, the popular MongoDB library for NodeJS is incredibly robust and relatively easy to pick up. Its documentation, however leaves a little to be desired. To att

Git 常用命令笔记(不定期持续记录)

git是现在非常流行的分布式管理系统,作为想赶上潮流的前端,不能不跟上步伐学习之. 这里我推荐一个git中文学习的教程,这个教程说的非常通俗易懂,是我看过的最好的讲Git教程,官网是全英文的,或者是中文翻译过来的,哥们英文不好,看不懂⊙﹏⊙ Git通俗易懂的中文教程原文在这里==>[光速传送门] 下面是我自己今天看教程总结的常用命令,没高深得玩意,方便自己经常查阅. -----------------------------------------------------------------

CentOS7 编译安装nodejs,配置环境变量记录

每次都装,每次都查 阿里云备案了一个域名,续费了好多年,但是没钱买服务器,就挂在github上.今天收到消息:域名解析服务器不在阿里云,要被GG.只能咬牙买了个阿里云乞丐版. 所有服务都装好了,ping域名也通了,就是无法访问.感谢伟大的sf网友,给我指明了方向,阿里云也不给个醒目的提示,让我等小白如何知道还要配置安全组... 安装nodejs 去nodejs官网查看需要的版本.官网 nodejs的安装需要依赖很多,如gcc等,首先我们需要将这些安装成功,用rpm命令rpm -q gcc查看下,

express mongoose 新手上路 问题记录

1.npm start启动报错,提示端口占用 app.js中添加了app.listen(3000),删掉即可 2.跳转到html页面 //ejs改为html app.engine('.html', require('ejs').__express); app.set('view engine', 'html'); 发现<a href="login">登陆</a>点击后404报错 //路由index.js文件添加路由 router.get('/login', fu

shell学习笔记--持续记录

1.#!/bin/sh 使用sh程序来执行下边的代码 #!/bin/more 输出下边的代码 #!/bin/可执行程序 下边的代码将会作为此程序的输入 2. * 可以用来匹配文件名,正则匹配,作为乘法.**还可以作为幂运算 3.(( 代码)) 即可以做数学运算,也可以在里面添加c代码 4.$可以是代表一个已经定义的变量,可以作为正则匹配的行结束符,$$代表当前shell脚本的进程ID 5.( 代码 ) 用来创建一个子shell执行包含的代码,还可以用于数组初始化 6.{ } 有点像分配律的样子,

JS常用工具函数(持续记录)

1.设置获取cookie //方式1 //设置cookie function SetCookie(name, value)//两个参数,一个是cookie的名字,一个是值 { var Days = 30; //此 cookie 将被保存 30 天 var exp = new Date(); //new Date("December 31, 9998"); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.

nodejs+mysql 插入一条记录时获取自动生成的id

最近在写学生申报项目的后端接口时发现需要获取数据库自动生成的主键,因为要先将项目信息插入到project表,得到生成的项目ID,再将项目ID和指导老师ID插入到project_member表 一开始想在插入项目之后,用SELECT LAST_INSERT_ID() 获取生成的ID,后来发现,在插入操作完成后的返回结果里就带有自动生成的ID.可用rows.insertId获取 代码: //利用事务对project表和project_member表进行插入 conn.beginTransaction