mongoose的基本操作

Mongoose库简而言之就是对node环境中MongoDB数据库操作的封装,通过操作javaScript对象来操作数据库,代码会显得特别清晰。

一丶  npm install mongoose  --save

下载Mongoose(其中包括了mongodb,不用重复Require)

二丶官网提供的hello模板

var mongoose = require(‘mongoose‘);     //引入mongoose
mongoose.connect(‘mongodb://localhost/test‘);  // 连接数据库

var Cat = mongoose.model(‘Cat‘, { name: String });   // 创建一个Model模型 也就相当于创建了一个cats表

var kitty = new Cat({ name: ‘Zildjian‘ });  //实例化一个Model模型 ,相当于创建一个Kitty集合
kitty.save(function (err) {    //save()方法,保存该对象,也就是向数据库增加;
  if (err) {
    console.log(err);
  } else {
    console.log(‘meow‘);
  }
});

 三丶mongoose的具体使用

   1,连接数据库

var mongoose = require(‘mongoose‘);
//创建数据库连接
var db=mongoose.createConnection(‘mongodb://127.0.0.1:27017/student‘);
//监听open事件
db.once(‘open‘, function (callback) {
   console.log("数据库成功连接");
});

       2丶定义模型

//创建了一个schema结构。
var studentSchema = new mongoose.Schema({
    name     :  {type : String},
    age      :  {type : Number},
});var studentModel = db.model(‘Student‘, studentSchema);

      3丶增

mongooseModel.create({name:‘XiaoMIng‘,age:‘18‘}, function(error){
    if(error) {
        console.log(error);
    } else {
        console.log(‘成功添加小明同学信息‘);
    }
    // 关闭数据库链接
    db.close();
});

     4丶删

mongooseModel.remove({name:‘XiaoMing‘}, function(error){
    if(error) {
        console.log(error);
    } else {
        console.log(‘成功删除小明同学信息‘);    }
    //关闭数据库链接
    db.close();
});

     5丶改

var conditions = {name: ‘XiaoMing‘};
var update     = {$set : {age : 27}};
var options    = {};
mongooseModel.update(conditions, update, options, function(error){
    if(error) {
        console.log(error);
    } else {
        console.log(‘成功修改小明的的年龄‘);
    }
    //关闭数据库链接
    db.close();
});

6丶查

var select = {name: ‘小明‘}; // 查询条件mongooseModel.find(select,function(error, result){
    if(error) {
        console.log(error);
    } else {
        console.log(result);
    }
    //关闭数据库链接
    db.close();
});

  四丶自定义静态方法

//自定义一个通过年龄查询学生的方法mongooseSchema.statics.findFromage = function(age, callback) {
    this.model(‘student‘).find({age: age}, callback);
}
 //通过年龄查询所有学生信息student.findFromage(‘30‘,function(err,result){
     console.log(result)
 })
时间: 2024-10-09 03:46:18

mongoose的基本操作的相关文章

mongoose一看就会的基本操作

Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具 那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:http://www.cnblogs.com/zhongweiv/p/node_mongodb.html Github地址:https://github.com/Automattic/mongoose API Docs:http://mongoosejs.com/docs/guide.html 前面有介绍过用

Mongoose介绍和入门

简介 Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具 那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:http://www.cnblogs.com/zhongweiv/p/node_mongodb.html Github地址:https://github.com/Automattic/mongoose API Docs:http://mongoosejs.com/docs/guide.html 前面有介

Nodejs之MEAN栈开发(三)---- 使用MongoDB和Mongoose创建数据模型及API

继续开扒我们的MEAN栈开发之路,前面两节我们学习了Express.Jade引擎并创建了几个静态页面,最后通过Heroku部署了应用. Nodejs之MEAN栈开发(一)---- 路由与控制器 Nodejs之MEAN栈开发(二)----视图与模型 这一节将重点介绍MongoDB以及它的ODM(Object-Document Modeler)Mongoose.MongoDB是一种分布式文档存储型数据库,和平时使用的关系型数据库不同,它存储的是BSON格式(json的二进制),特点是高性能.易部署,

安装使用Mongoose配合Node.js操作MongoDB的基础教程【转载】

这篇文章主要介绍了安装使用Mongoose来让Node.js操作MongoDB的基础教程,前端js+后端node+js操作MongoDB正是所谓最流行的一种JavaScript全栈开发方案,需要的朋友可以参考下 安装mongoose 使用express准备一个TestMongoDB项目,命令序列如下: express TestMongoDB cd TestMongoDB npm install 执行完上面的命令后,使用下面的命令安装mongoose: npm install mongoose -

<二叉树的基本操作>

#include<stdio.h> #include<stdlib.h> #include<string.h> #define num 100 #define OK 1 typedef int Status; typedef char DataType; typedef struct node { DataType data; struct node *lchild,*rchild; }BinTNode,*BinTree; Status CreateBiTree(Bin

iOS_UITextField 基本操作

基本操作 UITextField *userNameTextField = [[UITextField alloc] init]; userNameTextField.frame = CGRectMake(30, 100, 220, 50); [self.window addSubview:userNameTextField]; [userNameTextField release]; // 设置样式 userNameTextField.borderStyle = UITextBorderSty

Mongodb入门系列(4)——Mongodb体系结构与客户端基本操作及注意细节

说到Mongodb的体系结构,免不了与关系型数据库做个对比.这里以MySQL为例,我们进行一些比较: 从逻辑结构上对比: MySQL层次概念 MongoDB层次概念 数据库(database) 数据库(database) 表(table) 集合(collection) 记录(row) 文档(document) 在MongoDB中没有行.列.关系的概念,集合中的文档相当于一条记录,这体现了模式自由的特点. 从数据存储结构上对比: MySQL的每个数据库存放在一个与数据库同名的文件夹中,MySQL如

Oracle的基本操作-解除用户,赋予权限

一.表的基本操作 1. 用户管理 1.1 初始状态下系统的用户 在系统用户下,执行下面的查询语句可以查看到当前系统的所有用户  select * from dba_users; 1.2 创建一个用户 SQL> create user xp identified by xp; User created. 授予连接数据库的权限:SQL> grant connect to xp; Grant succeeded. SQL> conn xp/xp;Connected. 1.3 解锁一个用户并修改

数据结构中线性表的基本操作-合并两个线性表-依照元素升序排列

#include<iostream> #include<stdlib.h> #define LIST_INIT_SIZE 10/*线性表初始长度*/ #define LIST_CREATENT 2/*每次的增量*/ typedef int ElemType; using namespace std; typedef struct SqList/*线性表的数据结构定义*/ { ElemType *elem;/*线性表基址*/ int length;/*当前线性表所含的元素个数*/ i