• Mongodb 操作


    node.js 中使用mongodb,首先 npm install mongodb 添加至 package.json。

    首先编写个测试demo:

    // mongodb 基本配置
    var mongodb = require('mongodb');
    var server = new mongodb.Server('localhost', 27017, {auto_reconnect:true});
    var db = new mongodb.Db('crawlerdb', server, {safe:true});
    
    // 开始mongodb操作
    db.open(function (err, db) {
      if (err) return err;
      
      console.log('connect!');
    })

    连接成功显示 connect!

    Mongodb 中文档是最基本的单位,如{name: 'Tony', age: 20, gender: 'male'} 就是一个最基本单位。而文档中又可以嵌套其他文档。集合是许多文档的总和,一个数据库可以有多个集合,一个集合可以有多个文档。

    Mongodb 中对 collection 操作有两种方法:1. db.collection('user', function(err, result){...}); 2. db.createCollection('user', function(err, result){...}); (user为集合名字)

    其中这两种方法有个可选参数 {safe: true} 

    db.collection('user', {safe: true}, function(err, result){...})  collection 不存在时将报错。

    db.createCollection('user', {safe: true}, function(err, result){...})  collection 存在时报错。

    示例如下:

    var mongodb = require('mongodb');
    var server = new mongodb.Server('localhost', 27017, {auto_reconnect:true});
    var db = new mongodb.Db('crawlerdb', server, {safe:true});
    
    db.open(function (err, db) {
      if (err) return err;
    
      console.log('connect!');
      db.createCollection('user', function(err, result) {
        
      })
    })

    删除collection使用dropCollection();

    db.dropCollection('user', function(err,result){
        console.log(result);
    }); 

    对collection进行增删改查操作:

    向collection添加数据使用insert方法。

    var mongodb = require('mongodb');
    var server = new mongodb.Server('localhost', 27017, {auto_reconnect:true});
    var db = new mongodb.Db('crawlerdb', server, {safe:true});
    
    db.open(function (err, db) {
      if (err) return err;
    
      console.log('connect!');
      db.collection('user', function(err, user) {
        var item = {name: 'Tony', age: 20, gender: 'male'};
        user.insert(item, function (err, result) {
          console.log(result);
        })
      })
    })

    对数据进行更新用update方法。

    var mongodb = require('mongodb');
    var server = new mongodb.Server('localhost', 27017, {auto_reconnect:true});
    var db = new mongodb.Db('crawlerdb', server, {safe:true});
    
    db.open(function (err, db) {
      if (err) return err;
    
      console.log('connect!');
      db.collection('user', function(err, user) {
        user.update({name: 'Tony'}, {$set: {age: 22}}, function (err, result) {
          console.log(result);
        })
      })
    })

    对数据进行删除用remove方法。

    var mongodb = require('mongodb');
    var server = new mongodb.Server('localhost', 27017, {auto_reconnect:true});
    var db = new mongodb.Db('crawlerdb', server, {safe:true});
    
    db.open(function (err, db) {
      if (err) return err;
    
      console.log('connect!');
      db.collection('user', function(err, user) {
        user.remove({name: 'Tony'}, function (err, result) {
          console.log(result);
        })
      })
    })

    对数据进行查找用 find或者 findOne方法。

    var mongodb = require('mongodb');
    var server = new mongodb.Server('localhost', 27017, {auto_reconnect:true});
    var db = new mongodb.Db('crawlerdb', server, {safe:true});
    
    db.open(function (err, db) {
      if (err) return err;
    
      console.log('connect!');
      db.collection('user', function(err, user) {
    
        var item1 = {name: 'Tony', age: 21, gender: 'male'};
        var item2 = {name: 'Sue', age: 18, gender: 'female'};
    
        user.insert([item1, item2], function (err, result) {
          console.log(result);
        });
    
        user.find(function(err, docs) {
          console.log(docs);
        });
    
        user.findOne(function(err, doc) {
          console.log(doc);
        });
      });
    });
  • 相关阅读:
    JAVA中SESSION和COOKIE的解释
    关于org.apache.catalina.session.StandardManager doLoad错误的解决
    MySQL 修改字段类型或长度
    JS倒计时 定时器
    设置tomcat内存
    Unable to resolve JRE: jdk1.6.0_01 (Standard VM)
    Error configuring application listener of class org.springframework.web.context.ContextLoader
    nested exception is java.lang.OutOfMemoryError: PermGen space
    导数据,整理数据思路总结
    mysql_mssql_access_2017年最新手机号段归属地数据库(17年4月更新)360569记录
  • 原文地址:https://www.cnblogs.com/yanjliu/p/3935138.html
Copyright © 2020-2023  润新知