博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js之操作Mongodb
阅读量:6692 次
发布时间:2019-06-25

本文共 2956 字,大约阅读时间需要 9 分钟。

// mongoose 链接var mongoose = require('mongoose');var db       = mongoose.createConnection('mongodb://127.0.0.1:27017/NodeJS');
// 链接错误db.on('error', function(error) {    console.log(error);});
// Schema 结构var mongooseSchema = new mongoose.Schema({    username : {type : String, default : '匿名用户'},    title    : {type : String},    content  : {type : String},    time     : {type : Date, default: Date.now},    age      : {type : Number}});
 
// 添加 mongoose 实例方法mongooseSchema.methods.findbyusername = function(username, callback) {    return this.model('mongoose').find({username: username}, callback);}
 
// 添加 mongoose 静态方法,静态方法在Model层就能使用mongooseSchema.statics.findbytitle = function(title, callback) {    return this.model('mongoose').find({title: title}, callback);}
 
// modelvar mongooseModel = db.model('mongoose', mongooseSchema);
 
// 增加记录 基于 entity 操作var doc = {username : 'emtity_demo_username', title : 'emtity_demo_title', content : 'emtity_demo_content'};var mongooseEntity = new mongooseModel(doc);mongooseEntity.save(function(error) {    if(error) {        console.log(error);    } else {        console.log('saved OK!');    }    // 关闭数据库链接    db.close();});
 
// 增加记录 基于model操作var doc = {username : 'model_demo_username', title : 'model_demo_title', content : 'model_demo_content'};mongooseModel.create(doc, function(error){    if(error) {        console.log(error);    } else {        console.log('save ok');    }    // 关闭数据库链接    db.close();});

 

// 修改记录mongooseModel.update(conditions, update, options, callback);var conditions = {username : 'model_demo_username'};var update     = {$set : {age : 27, title : 'model_demo_title_update'}};var options    = {upsert : true};mongooseModel.update(conditions, update, options, function(error){    if(error) {        console.log(error);    } else {        console.log('update ok!');    }    //关闭数据库链接    db.close();});
查询
// 基于实例方法的查询var mongooseEntity = new mongooseModel({});mongooseEntity.findbyusername('model_demo_username', function(error, result){    if(error) {        console.log(error);    } else {        console.log(result);    }    //关闭数据库链接    db.close();});
 
// 基于静态方法的查询mongooseModel.findbytitle('emtity_demo_title', function(error, result){    if(error) {        console.log(error);    } else {        console.log(result);    }    //关闭数据库链接    db.close();});
 
// mongoose findvar criteria = {title : 'emtity_demo_title'}; // 查询条件var fields   = {title : 1, content : 1, time : 1}; // 待返回的字段var options  = {};mongooseModel.find(criteria, fields, options, function(error, result){    if(error) {        console.log(error);    } else {        console.log(result);    }    //关闭数据库链接    db.close();});
// 删除记录var conditions = {username: 'emtity_demo_username'};mongooseModel.remove(conditions, function(error){    if(error) {        console.log(error);    } else {        console.log('delete ok!');    }    //关闭数据库链接    db.close();});

 

 

转载于:https://www.cnblogs.com/jokerjason/p/7410496.html

你可能感兴趣的文章
绕过 GIL 提升 Python 性能的一般方法
查看>>
用Eclipse追PostgreSQL源码
查看>>
【原创】第一个iOS应用程序
查看>>
PHP去除BOM头的方法
查看>>
提醒 TickTick v2.8.5.4 最新版
查看>>
怎么在Beyond Compare中插入表格数据
查看>>
JSONP
查看>>
【漏洞预警】OpenSSL 远程拒绝服务漏洞
查看>>
成本管理之(成本控制)
查看>>
Java 反射工具类
查看>>
Java继承关系中,父类方法使用实例变量和调用实例方法的探究
查看>>
csdn账号密码
查看>>
AWS 配置 AutoScaling 实现高可用的弹性计算服务
查看>>
Ubuntu 16.04配置hive mysql db元数据
查看>>
Struts2 中的值栈的理解
查看>>
linux下IPTABLES配置详解
查看>>
使用Spring Mail 模块连接STMP服务器发送邮件
查看>>
Tomcat 下面使用软连接指向真实的上传文件夹
查看>>
批量修改日期,按日期生成文件
查看>>
Git的后悔药——重置 签出 撤消 取消跟踪
查看>>