mongodb 简单使用

最近折腾node接触到mongodb比较多,这里是自己简单的mark,没有讲解不包安装😂

常用整理

  1. 查询库、查询表
show dbs — 查询所有的数据库

show collections — 查询当前数据库下的所有数据表

2. 建库和删库
use myDbs — 建立一个名为myDbs的数据库,当这个库存在时则是切换到这个数据库中去

use myDbs

db.dropDatabase(); — 这两句是删除这个数据库

3. 建表和删表

表操作都是要先到一个数据库中去,通过use方法

db.myTable.insert({name:’huawei’,age:20}); — 在mongodb中在插入数据时即创建了改表,此时创建的是名为myTable的数据表

db.myTable.drop(); — 删除myTable这个数据表

4. 单表的增删改
db.myTable.insert({name:’jueshi’,age:12}); — 新增

db.myTable.update({name:’jueshi’},{$set:}) — 修改,此处的操作相当于关系数据库中的 update myTable set age = 25 where name = ‘jueshi’

db.myTable.remove({name:’huawei'}); — 删除,此处相当于关系数据库中的 delete myTable where name = ‘huawei’

5. 查询
db.myTable.find(); — 查询myTable中的所有数据

db.myTable.find().sort() — 根据age升续

db.myTable.find().count(); — 查询

## mongoose mongoose是NodeJS中操作mongodb一个工具库。在mongoose中调用方式主要包括Schema、Model、Entity这3种操作类。Schema是以数据类型为形式的实体,它不具备操作数据库的能力,但是它定义了操作数据表中元素的名称和类型;而Model则是单个表的实体,通过表的名字以及Schema中标注的类型将一个表进行实例化;最后一个Entity可以认为是表中单行的实例对象,可以对单行进行简单的新增删改查的操作。

建立链接和Schema、Model

var mongoose = require(‘mongoose’);
/*开始获取数据库连接,此处部分为固定写法,
 *其中myinfo是要操作数据库的名称*/
var con = mongoose.connect(‘mongodb://localhost/myinfo');
/*获取mongoose全局的Schema对象,方便对多个表进行实例化*/
var sche = mongoose.Schema;
/*构建所需表的Schema,此处就构建了一个stu表的文件*/
var stuSchema = new sche({
 name:String,
 age:Number
});
/*构建表所需的模型 Model*/
var stuModel = con.model(’Stu’,stuSchema);

新增

/* 新增,新增操作需要构建一个表单行实例*/
var stuEntity = new stuModel({name:’hf’,age:2});
stuEntity.save(function(err){…});
/* 新增,通过Model新增*/
var json = {name:’hf’ , age:1};
stuModel.create(json , function(error){…})

修改

var param = {name:’hf’};
var update = {$set:{name:’sfa’,age:26}};
stuModel.update(param , update , function(error){...})

删除

var param = {name:’hf’};
stuModel.remove(param , function(error){...})

导入导出

导入 mongorestore -h host -d dataName --dir=path

-h:指明数据库宿主机的IP -u:指明数据库的用户名 -p:指明数据库的密码 -d:指明数据库的名字,当然这个名称也可以和导出时候的不一样

导出 mongodump -h dbhost -d dbname -o dbdirectory

-h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017 -d:需要备份的数据库实例,例如:test -o:备份的数据存放位置(不填的话为根目录)