mongoose 的 model,query:增删改查
简介
mongoose是node.js的一个操作mongodb的模块,比起之前mongodb模块,只需要在开始时连接,不需要手动关闭,十分方便。
连接mongodb
首先你需要安装mongodb。
有了mongodb,你需要引入mongoose模块。
require('mongoose');
然后取连接mongodb
mongoose.connect('mongodb://localhost/myapp');//location是数据库地址,myapp为db名字
//mongoose.connect('mongodb://username:password@host:port/database?options...');
Model
要定义model首先需要定义一个schema.
var schema = new mongoose.Schema({ name: String, age: Number });
//定义model
var personModel = mongoose.model('person', schema);//person为collection名
model适合简单查询,保存,修改和删除。
保存一条新数据:
var saveobj = new persionModel({name:'小明',age:15});
saveobj.save(function(err){
if(err){
console.log('save error')
}else{
console.log('save successs');
}
});
查询记录
var query_doc = {age:15};//查询条件
persionModel.find(query_doc,function(err,data){
if(err){
console.log('query error');
}else{
console.log(data);//此时查询结构为一个数组
}
});
查询一条记录
var query_doc = {age:15};
personModel.findOne(query_doc,function(err,data){
if(err){
console.log('query one error');
}else{
console.log(data);//此时为一个结果对象
}
});
修改一条数据
var update_where = {name:'李四'};//更新条件
var update_data = {age:14};//更新数据
personModel.update(update_where,{$set:update_data},function(err){
if(err){
console.log('update error');
}else{
console.log('update success');
}
});
删除一条数据
var del_where = {name:'小明'};//删除条件
personModel.remove(del_where,function(err){
if(err){
console.log('delete error');
}else{
console.log('delete success');
}
});
Query
query适合复杂的查询。
首先获取一个query:
var query = personModel.find({});//当不带回调时会返回一个query对象
query
.skip(10)//跳过十行记录
.limit(10)//查询十行记录
.sort({_id:-1})//按id逆序排列
.where('age').gt(17).lt(66)//age字段大于17小于66
.exec(function(err,data){
//回调函数,do some thing
});
简单的mongoose操作mongodb就这么多啦,更多内容可以查看手册。http://www.nodeclass.com/api/mongoose.html
mongoose 的 model,query:增删改查的更多相关文章
- node-express项目的搭建并通过mongoose操作MongoDB实现增删改查分页排序(四)
最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. Mongoose是在node.js ...
- 夺命雷公狗---Thinkphp----7之栏目配合Model的增删改查
我们首先来写一个查: public function lists(){ $type = M('Type')->select(); $this -> assign('type',$type) ...
- Node使用Mongoose操作MongoDB数据库——增删改查的实现
当初刚出社会时就规划了下自己的职业生涯:先成为一名优秀的前端工程师,再成为一名全栈工程师(精通前端开发.后台开发和客户端开发),最后成为一名优秀的系统架构师.转眼间已经工作快三年,是时候迈出关键性的一 ...
- IndexedDB 增删改查 简单的库
<!DOCTYPE html> <html> <head> <title></title> <script src="Ind ...
- mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...
- mongoDB (mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储 ...
- 手把手教你基于koa2,mongoose实现增删改查
初始化项目 npm init -y 先安装一波乱七八糟的依赖插件(需要具备一定的koa2知识,至于mongoDB自行百度安装教程),模板引擎我使用的是art-template(据说是性能最好的,而且是 ...
- DjangoMTV模型之model层——ORM操作数据库(基本增删改查)
Django的数据库相关操作 对象关系映射(英语:(Object Relational Mapping,简称ORM),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效果上说 ...
- 使用Mongoose类库实现简单的增删改查
使用Mongoose类库实现简单的增删改查 Mongoose是在nodejs环境中对MongoDB数据库操作的封装,一种对象模型工具,可以将数据库中的数据转换为javascript对象供我们使用. M ...
- VUE2.0增删改查附编辑添加model(弹框)组件共用
Vue实战篇(增删改查附编辑添加model(弹框)组件共用) 前言 最近一直在学习Vue,发现一份crud不错的源码 预览链接 https://taylorchen709.github.io/vue- ...
随机推荐
- 内置函数dict
本函数是从可迭代对象来创建新字典.比如一个元组组成的列表,或者一个字典对象. 例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #dict() #以键对方式构造字典 ...
- linux实践之ELF文件分析
linux实践之ELF文件分析 下面开始elf文件的分析. 我们首先编写一个简单的C代码. 编译链接生成可执行文件. 首先,查看scn15elf.o文件的详细信息. 以16进制形式查看scn15elf ...
- 【LINUX】VI相关命令
任何用户最常做的事要数创建和编辑文件,包括文档.报告和文字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,使用vi,只要记著少量基本指令,就可以开始起步,再学习其他更复杂的指令, ...
- Magento Connector: Error: Please check for sufficient write file permissions
请确保下面的文件是可写的: /path/to/your/magento-install/path/to/your/magento-install/downloader/path/to/your/mag ...
- ab post 测试 http 和 webservice 接口方法及用例
1.ab测试简单http请求 ab -n30000 -c1000 "http://10.1.1.21:8080/" 2.ab 测试 http 接口 (POST) ab -n400 ...
- 网络编程学习笔记:linux下的socket编程
socket是进程通信的一种方式,通过调用一些API可以实现进程间通信,建立连接以及收发信息的过程如下图所示: 这些函数的用法如下: 1.int socket(int protocolFamily, ...
- nginx、fastCGI、php-fpm关系梳理(转)
前言: Linux下搭建nginx+php+memached(LPMN)的时候,nginx.conf中配需要配置fastCGI,php需要安装php-fpm扩展并启动php-fpm守护进程,nginx ...
- Python学习笔记(一)python基础与函数
1.python基础 1.1输入与输出 输出 用print加上字符串,就可以打印指定的文字或数字 >>> print 'hello, world' hello, world > ...
- Log4Net组件的应用详解
第一步: 添加并应用Log4net.dll.然后在Web.config文件中添加下面的配置局 <configSections> <section name="log4 ...
- 1.初识Linux
1.严格来讲,Linux不是一个操作系统,只是Linux系统的内核,它是计算机的软件与硬件连通的枢纽. 2.关机和重启指令 关机:(1)init 0 关闭前清理和更新有关信息 (2 ...