node10-mongoose
目录:
node01-创建服务器
node02-util
node03-events
node04-buffer
node05-fs
node06-path
node07-http
node08-express
node09-cookie
mongoose模块:
var mongoose = require("mongoose");
var db = mongoose.connect("mongodb://localhost:27017/person");
//连接失败触发事件error
db.connection.on("error",function(err){
console.error(err);
});
db.connection.on("open",function(){
console.log("连接成功");
});
//构建数据库模型骨架
var personSchema = new mongoose.Schema({
user:{type:String},
age:{type:Number,default:18}
},{
collection:"person"
});
//构建模型
var Model = db.model("person",personSchema);
//模型实体化,构建一个文档
var personEntity = new Model({
user:"wangliu",
age:46
});
// personEntity.save(function(err,doc){
// if(err){
// console.error(err);
// }else{
// console.log(doc);
// }
// });
//插入
// Model.create([{user:"x",age:45},{user:"xx",age:55}],function (err,doc) {
// if(!err){
// console.log(doc);
// }
// });
//更改
// Model.update({user:"wangwu"},{$set:{user:"wangle"}},function (err) {
// if(!err){
// console.log("更新成功");
// }
// });
//更新多条
// Model.update({user:"x"},{$set:{user:"xxxx"}},{multi:true},function(err){
// if(!err){
// console.log("更新多条成功");
// }
// });
//删除
// Model.remove({user:"xxx"},function (err) {
// if(!err){
// console.log("删除成功");
// }
// });
//查询
// Model.find({},{age:1,_id:0},function(err,doc){
// if(!err){
// console.log(doc);
// }
// })
// Model.findOne({age:22},function (err,doc) {
// if(!err){
// console.log(doc);
// }
// })
// Model.findById("5848bbabea39fd64371d00ab",function (err,doc) {
// console.log(doc);
// });//纯纯的id,不带objectId
//高级查询
// Model.find({age:{$gt:43}},function (err,doc) {
// console.log(doc);
// });//大于
// Model.find({age:{$lt:43}},function (err,doc) {
// console.log(doc);
// });//小于
// Model.find({age:{$ne:43}},function (err,doc) {
// console.log(doc);
// });//不等于
// Model.find({$or:[{user:"xx"},{age:22}]},function (err,doc) {
// console.log(doc);
// })//或
// Model.find({__v:{$exists:true}},function (err,doc) {
// console.log(doc);
// });//是否存在
// Model.find({},{},{limit:6},function (err,doc) {
// console.log(doc);
// });//限制
// Model.find({},{},{skip:6},function (err,doc) {
// console.log(doc);
// });//跳过
// Model.find({},{},{limit:6,skip:2},function (err,doc) {
// console.log(doc);
// });//限制与跳过
Model.find({},{},{sort:{age:1}},function (err,doc) {
console.log(doc);
});//排序,-1倒序,1正序
node10-mongoose的更多相关文章
- mongoose - 让node.js高效操作mongodb
Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用. ...
- 在mongoose中使用$match对id失效的解决方法
Topic.aggregate( //{$match:{_id:"5576b59e192868d01f75486c"}}, //not work //{$match:{title: ...
- Mongo基础使用,以及在Express项目中使用Mongoose
MongoDB的基本使用 MongoDB特点: 使用BSON存储数据 支持相对丰富的查询操作(相对其他nosql数据库) 支持索引 副本集(支持多个实例/多个服务器运行同个数据库) 分片(数据库水平扩 ...
- mongoose数据库连接和操作
var mongoose = require('mongoose') mongoose.connect('mongodb://localhost:27017/hometown'); var db = ...
- mongoose 和 mongoDB
第三方学习地址:http://blog.csdn.net/foruok/article/details/47746057 下载mongoDB https://www.mongodb.com/downl ...
- Nodejs之MEAN栈开发(三)---- 使用Mongoose创建模型及API
继续开扒我们的MEAN栈开发之路,前面两节我们学习了Express.Jade引擎并创建了几个静态页面,最后通过Heroku部署了应用. Nodejs之MEAN栈开发(一)---- 路由与控制器 Nod ...
- Mongoose Schemas定义中timestamps选项的妙用
在Node.js中使用MongoDB少不了Mongoose. 假设有如下Mongoose Schemas的定义: var ItemSchema = new mongoose.Schema({ biz: ...
- Mongodb 数据类型及Mongoose常用CURD
前言 看完了Node.js实战,其中在数据存储部分提到了Redis.Mongodb,我自己也根据书中的介绍写了几个简单的demo,在demo的过程首先遇到的问题就是数据类型和常见的CURD写法. mo ...
- Mongoose使用案例--让JSON数据直接入库MongoDB
目录 1.准备工作. 2.配置Mongoose. 3.创建目录及文件. 4.插入数据,POST提交JSON增加一条记录. 5.查询数据,取出你插入数据库的记录. 一.准备工作 使用Express4创建 ...
- 利用Mongoose来结构化模式与验证
Mongoose是一个文档对象模型(ODM)库,为MongoDB Node.js原生驱动程序提供更多的功能. 把结构化的模式应用到一个MongoDB集合,提供了验证和类型转换的好处 Mongoose通 ...
随机推荐
- 练习JavaScript实现梯形乘法表
效果: 表格用html中的table,tr,td,然后利用for语句实现,循环输出行和列,再根据行列的数量进行乘法运算,第一个for循环输出9行,然后内嵌一个for,在条件表达式中取第一个for循环的 ...
- python通过函数改变变量取值
严格讲应该是"通过函数调用,改变引用对象".python中,要区分"变量名"和"对象" 如果是类的对象,是引用类型的,那么可以通过函数调用, ...
- BZOJ3434 [Wc2014]时空穿梭
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- Beta阶段发布说明
OverWatch来浪狼人杀助手Beta版本发布说明 Beta版本的新功能 添加了忘记密码与重置密码的功能 添加了语音流程提示的功能 添加了搜索好友的功能 添加了添加好友的功能 添加了能够直接通过点击 ...
- BZOJ3196: Tyvj 1730 二逼平衡树
传送门 主席树的常数蜜汁优越,在BZOJ上跑了rnk1. 做法很简单,主席树套BIT. 1-3做法很简单,第四个和第五个做法转换成前两个就行了. //BZOJ 3196 //by Cydiater / ...
- web api7
- IL2CPP
[官方教程] IL2CPP 深入讲解系列介绍 (汇总帖) http://forum.china.unity3d.com/forum.php?mod=viewthread&tid=8960&am ...
- 【学习笔记】load-on-startup Servlet
创建Servlet实例有两个时机:用户请求之时和应用启动之时.应用启动之时创建的通常用于某些后台服务的Servlet.配置load-on-startup的Servlet有两种方式: 在web.xml文 ...
- Java Web ——http协议请求报文
package com.demo.util; import java.io.IOException; import java.io.InputStream; import java.net.*; /* ...
- 等价类划分方法的应用(jsp)
[问题描述] 在三个文本框中输入字符串,要求均为1到6个英文字符或数字,按submit提交. [划分等价类] 条件1: 字符合法; 条件2: 输入1长度合法; 条件3: 输入2长度合法: 条件4: 输 ...