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);
    });
  });
});
时间: 2024-11-05 12:14:58

Mongodb 操作的相关文章

练习 MongoDB 操作 —— 数据操作(一)

目录 练习 MongoDB 操作 -- 数据操作(一) # 练习增查 练习删除 练习修改 练习分组 练习聚合 练习权限 创建用户 验证用户 查看所有用户 删除用户 练习 MongoDB 操作 -- 数据操作(一) mongodb 更新于 2017-09-19 约 18 分钟 原文链接: https://segmentfault.com/a/1190000011173681 本文的目标是通过大量的示例,来更好的理解如果在Mongodb中进行数据操作: 初入客户端 刚利用 mongod命令进入客户端

MongoDB操作:insert()

@Override public boolean inSert(String dbName, String collectionName, String[] keys, Object[] values) { DB db = null; DBCollection dbCollection = null; WriteResult result = null; String resultString = null; if(keys!=null && values!=null){ //keys与v

MongoDB操作类PHP代码

<?php include_once dirname(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR.'Config'.DIRECTORY_SEPARATOR.'database.php'; class MongoClass3{   static public $conn;//数据库连接   static public $db;//数据库选择   static public $collection;//结果集合   public $debug;  

MongoDB 操作手册CRUD查询

查询操作 基本查询 查询指定集合中的所有记录 db.testData.find()或者db.testData.find({}); 相等条件查询 db.testData.find({num:5});//查询num=5的记录 使用查询操作符声明多个条件 db.testData.find({num:{$in:[2,3,4]}});查询num为2,3,4的记录. 尽管可以使用$or操作符来执行同样的查询,但是当多个or条件都是在同一字段上的相等判断时,请使用$in而不是$or. and条件查询 db.t

PHP mongoDB 操作

<?php /** * PHP操作MongoDB学习笔记 */ //************************* //** 连接MongoDB数据库 **// //************************* //格式=>(“mongodb://用户名:密码 @地址:端口/默认指定数据库”,参数) $conn = new Mongo(); //可以简写为 //$conn=new Mongo(); #连接本地主机,默认端口. //$conn=new Mongo(“172.21.15.

MongoDB 操作手册CRUD 事务 两步提交

执行两步提交 概述 这部分提供了多记录更新或者多记录事务,使用两步提交来完成多记录写入的模板.另外,可以扩展此方法来提供rollback-like功能. 背景 MongoDB对于单条记录的操作是原子性的:但是涉及多条记录的操作却不是原子性的.由于记录可能是相当复杂,并且有内嵌记录,单记录原子性操作提供了实际中常用的必要支持. 除了单记录的原子性操作,还有许多情况需要多记录操作事务,当执行一个包含一些列操作的事务时,就有以下要求: 原子性:如果一个操作失败,事务中之前的操作需要回滚到之前的状态 一

MongoDB 操作手册CRUD 删除 remove

删除记录 概述 在MongoDB中,db.collection.remove()方法用于删除集合中的记录.可以删除所有记录,删除所有符合条件的记录,或者是仅删除一条记录. 删除所有记录 删除一个集合中的所有记录,只要将一个空的查询对象{}传给remove()方法即可.remove()方法不删除索引. 例:db.testData.remove({}); 使用remove()方法删除一个集合中的所有记录,可能比使用drop()方法删除包含索引的整个集合,再重建集合和索引更高效. 删除符合条件的记录

MongoDB 操作手册CRUD 更新 update

修改记录 概述 MongoDB提供了update()方法用于更新记录.这个方法接受以下参数: 一个更新条件的JSON对象用于匹配记录,一个更新操作JSON对象用于声明更新操作,和一个选项JSON对象 声明查询条件,使用和查询一样的结构和语法. 默认情况下,update()更新单条记录,若要更新多条记录, 请使用multi选项. 更新记录中的指定字段 用于更新某个字段的某个值,MongoDB提供了update操作符,比如$set. 在执行更新操作时,一些操作符回创建没有的字段,如$set. 测试数

mongodb操作之使用javaScript实现多表关联查询

一.数据控制 mongodb操作数据量控制,千万控制好,不要因为操作的数据量过多而导致失败. 演示一下发生此类错误的错误提示: 二.多表关联查询实现 /* 声明变量bridge,用来记录两个集合所连接的桥梁. 相当于sql语句中的Join on语句,on后边跟的条件. 有了桥梁以后,再进行关联那就是易如反掌的事情啦. 关联桥梁所存储的数据是什么样的类型就需要根据你自己的需求来进行创建了. 我这里用一个对象来作为桥梁,然后调用对象中的属性. */ var bridge = db.info.find