一: mongodb的常用语句
查询库、查询表
show dbs -查询所有的数据库
show connections -查询当前数据库下的所有数据表建库和删库
use myDbs - 建立一个名为myDbs的数据库,当这个库存在时切换到这个数据库中去
use myDbs
myDbs.dropDatabase(); - 这两句是删除数据库建表和删表
表的操作都是要先到一个数据库中去,通过use方法
db.myTable.insert({name:'hf', age:20}); - 在mongodb中在 插入数据时即创建了该表,此时创建的是名为myTable的数据表
db.myTable.drop(); - 删除myTable这个数据表表单的增删改
db.myTable.insert({name:’hahaha’,age:12}); — 新增
db.myTable.update({name:’hf’},{$set:{age:25}}) — 修改, 此处的操作相当于关系数据库中的 update myTable set age = 25 where name = ‘hf’
db.myTable.remove({name:’hf'}); — 删除,此处相当于关系数据库中的 delete myTable where name = ‘hf’查询
db.myTable.find(); — 查询myTable中的所有数据
db.myTable.find().sort({age:1}) — 根据age升续
db.myTable.find().count(); — 查询
二:mongoose及其基本用法
由于mongodb上手方便,所以经常作为nodeJS建站的数据库,而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){...})