一: mongodb的常用語(yǔ)句
查詢庫(kù)、查詢表
show dbs -查詢所有的數(shù)據(jù)庫(kù)
show connections -查詢當(dāng)前數(shù)據(jù)庫(kù)下的所有數(shù)據(jù)表建庫(kù)和刪庫(kù)
use myDbs - 建立一個(gè)名為myDbs的數(shù)據(jù)庫(kù),當(dāng)這個(gè)庫(kù)存在時(shí)切換到這個(gè)數(shù)據(jù)庫(kù)中去
use myDbs
myDbs.dropDatabase(); - 這兩句是刪除數(shù)據(jù)庫(kù)建表和刪表
表的操作都是要先到一個(gè)數(shù)據(jù)庫(kù)中去挟炬,通過(guò)use方法
db.myTable.insert({name:'hf', age:20}); - 在mongodb中在 插入數(shù)據(jù)時(shí)即創(chuàng)建了該表识埋,此時(shí)創(chuàng)建的是名為myTable的數(shù)據(jù)表
db.myTable.drop(); - 刪除myTable這個(gè)數(shù)據(jù)表表單的增刪改
db.myTable.insert({name:’hahaha’,age:12}); — 新增
db.myTable.update({name:’hf’},{$set:{age:25}}) — 修改捻脖, 此處的操作相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的 update myTable set age = 25 where name = ‘hf’
db.myTable.remove({name:’hf'}); — 刪除,此處相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的 delete myTable where name = ‘hf’查詢
db.myTable.find(); — 查詢myTable中的所有數(shù)據(jù)
db.myTable.find().sort({age:1}) — 根據(jù)age升續(xù)
db.myTable.find().count(); — 查詢
二:mongoose及其基本用法
由于mongodb上手方便际邻,所以經(jīng)常作為nodeJS建站的數(shù)據(jù)庫(kù)顶岸,而mongoose則是NodeJS中操作mongodb一個(gè)工具庫(kù)腔彰。在mongoose中存在這么幾種鏈接、調(diào)用方式主要包括Schema辖佣、Model萍桌、Entity這3種操作類,其中Schema則是以數(shù)據(jù)類型為形式的實(shí)體凌简,它不具備操作數(shù)據(jù)庫(kù)的能力上炎,但是它定義了操作數(shù)據(jù)表中元素的名稱和類型;而Model則是單個(gè)表的實(shí)體,通過(guò)表的名字以及Schema中標(biāo)注的類型將一個(gè)表進(jìn)行實(shí)例化藕施;那么最后一個(gè)Entity可以認(rèn)為是表中單行的實(shí)例對(duì)象寇损,可以對(duì)單行進(jìn)行簡(jiǎn)單的新增刪改查的操作。
- 建立鏈接和Schema裳食、Model
var mongoose = require(‘mongoose’);
/開(kāi)始獲取數(shù)據(jù)庫(kù)連接矛市,此處部分為固定寫(xiě)法,
其中myinfo是要操作數(shù)據(jù)庫(kù)的名稱/
var con = mongoose.connect(‘mongodb://localhost/myinfo');
/獲取mongoose全局的Schema對(duì)象诲祸,方便對(duì)多個(gè)表進(jìn)行實(shí)例化/
var sche = mongoose.Schema;
/構(gòu)建所需表的Schema浊吏,此處就構(gòu)建了一個(gè)stu表的文件/
var stuSchema = new sche({
name:String,
age:Number
});
/構(gòu)建表所需的模型 Model*/
var stuModel = con.model(’Stu’,stuSchema);
新增
方式一:
/* 新增,新增操作需要構(gòu)建一個(gè)表單行實(shí)例/
var stuEntity = new stuModel({name:’hf’,age:2});
stuEntity.save(function(err){…});
方式二:
/ 新增救氯,通過(guò)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){...})