1. 下载:

先登录Mongodb官网https://www.mongodb.com/download-center#community 下载   安装包。windows就选windows,mac就选mac.

2. 安装: 

(1)一直点击下一步即可

(2)在MongoDB下创建data,在data下再创建db:D:\software\MongoDB\data\db,因为启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。

3. 启动MongoDB服务

1.打开cmd命令行

2.进入D:\software\MongoDB\bin目录(注意:先输入d:进入d盘,然后输入cd D:\software\MongoDB\bin)

3.输入如下的命令启动mongodb服务:mongod --dbpath D:\software\MongoDB\data\db

如果成功的话:在浏览器输入http://localhost:27017/

会出现下面截图:

mongodb使用则数据库安装成功。

4. 通过命令行操作mongodb数据库

1.打开cmd命令行

2.进入D:\software\MongoDB\bin目录(注意:先输入d:进入d盘,然后输入cd D:\software\MongoDB\bin)

3. 在命令行输入  mongo.exe

出现  > 即表示可以输入命令

常用命令如下:

(1)show dbs : 显示数据库

(2)use 数据库名称 : 进入/创建数据库  (有就进入,没有就创建)

mongodb使用

admin、config、local是自带的数据库。use vuenongji 我新建了一个叫vuemongji的数据库,然后show dbs没有显示这个vuenongji是因为vuenongji这个数据库是空的,等写入了数据就显示了。

(3)db: 显示当前命令在哪个数据库里,

mongodb使用

(4)插入:db.user.insert.({"name":"zhoufangbing"})

解析: db是固定的,user是表名,insert是插入的意思,后面括号里的是插入的内容,意思就是在数据库user表里面插入name:zhoufangbing。

mongodb使用回车后打印出来表示插入一条数据成功。

(5)查询所有数据:db.user.find()

查询user表下面的所有数据,

mongodb使用

(6)db.user.findOne(): 查询第一条数据

mongodb使用

(7)删除:db.user.remove()

mongodb使用

(8)清空表中的数据:db.user.drop(),find查询就没有了

mongodb使用

(9)删除当前命令所在的数据库:db.dropDatabase()

(10)load(‘XX.js');加载js文件

load加载js文件的路径特别 麻烦,为了简便,我直接把js放在了bin文件下的data文件夹里面,data是新建的文件夹,,这样直接 ./ data/ 就可以了,比如我创建了1.js 在bin文件夹下面。

mongodb使用

在cmd输入load(‘./data/1.js’)

 

mongodb使用mongodb使用

数据的修改(updata):

(1)$set : 修改某一条数据指定的key值,其他项不变,mongodb kv 数据库

db.user.updata( {name:'zhoufangbing' , { $set:{age:30 } } )

db.user.updata( {name:'zhoufangbing' , { $set:{‘hobby.0’:'play' } } )

把hobby的数组第一个爱好改成play

解析: name为zhoufangbing的那一条数据,age的那个字段改为30,其他不变

(2)$unset: 删除key--value值

db.user.updata( {name:'zhoufangbing' , { $unset:{hobby:“”} } )

把name为zhoufangbing的那一条字段的hobby删除

(3)upsert: 有key 的话就更改,没有的话就加上

db.user.updata( {"name":"zhoufangbing"},  {$set: { age: 20}, { upsert: true}});

(4) multi: 给所有数据增加一个属性

db.user.updata({}, { $set: { hobby: 'play games'}, { multi: true}})

如果multi不是true,则第一条数据会加 是false或者没有的话

(5)$push: 给某个属性增加value值,不会检查属性是否重复

db.user.updata({ name: ' zhoufangbing'}, { $push: {hobby: '敲代码'}})

(6)$addToSet: 某个属性,没有或者有都加上,会检查是否重复,如果重复就不加了

db.user.updata({ name: ' zhoufangbing'}, { $addToSet: {hobby: '敲代码'}})

(7)$each: 循环每一个

var newHobby = ['吃鸡','打游戏','美发'];

db.user.updata({name: 'zhoufangbing'}, {$addToSet: {hobby: { $each: newHobby }}});

查询相关:

(1)查询符合的区间

db.user.find(

{ age: { $gte : 18, $lte: 30 } },

{name: true, age: true}

)

解析:查找age大于等于18,小于等于30的

$gte: greater than eavel  

$lte: less than eavel

$gt: 大于

$lt: 小于

然后打印出符合条件的数据的名字和年龄 true表示显示,false不显示

(2)查询某个

db.user.find(

{ age: { $in : [20 ,24] } },

{name: true, age: true}

)

解析: 就查询年龄是20和24的

(3)$and,$or,$not 查询条件与或非

或:

db.user.find(

$or: [

{ age: { $gt: 20 } },

{' pc.brand': 'IBM'}

]

{name: true, age: true}

)

解析: 查询年龄大于20 或者电脑品牌是IBM的

与:

db.user.find(

$and: [

{ age: { $gt: 20 } },

{' pc.brand': 'IBM'}

]

{name: true, age: true}

)

解析: 查询年龄大于20 并电脑品牌是IBM的

非:

db.user.find(

$not: [

{ age: { $gt: 20 } },

{' pc.brand': 'IBM'}

]

{name: true, age: true}

)

解析: 查不是年龄大于20 并电脑品牌是IBM的

(4)数组查询

db.user.find(

{ hobby: '篮球'},

{name: true, age: true}

)

解析: 查询hobby数组里面含 篮球的 注意'篮球'是字符串

db.user.find(

{ hobby: {$all : ['篮球','排球']}},

{name: true, age: true}

)

解析: 查询hobby数组里面含 篮球和排球的 注意'篮球'是字符串,两个都有

db.user.find(

{ hobby: {$in: ['篮球','排球']}},

{name: true, age: true}

)

解析: 查询hobby数组里面含 篮球和排球的 注意'篮球'是字符串,两个含一个就可以

db.user.find(

{ hobby: {$size: 3}},

{name: true, age: true}

)

解析: 查询hobby数组长度是3的

(5) 分页(重点)

db.user.find(

{},

{name: true, age: true, hobby: false}

).limit(1).skip(0).sort({age: -1});

解析: 查询所有数据,

limit表示一次查几条,skip表示从第几条开始查,sort是指按什么排序,-1倒序 1正序

(6)forEach遍历:db.user.find().forEach(function() {

});

相关文章: