mongodb数据库学习笔记

一、 基础入门

1、 下载mongodb安装包进行安装

2、 在运行mongodb前创建一个文件夹如:db来存放mongodb的数据

3、 微软徽标+R,输入cmd,首先找到“mongodb/bin”的路径,然后运行mongod开启命令,同时用–dbpath指定数据存放地点为“db”文件夹。

mongod --dbpath F:\mongo\data 

注意:运行后再浏览器中访问localhost:27017输出一句话后则成功启动mongodb

Mongodb基本操作

新增数据库

Use dbName

查看所有数据库 show dbs注意:查看数据库如果数据库没有数据则不会显示
删除数据库

db.dropDatabase()

创建集合:

db.createCollection(name) 

注意:如果添加数据时没有集合会自动创建集合
删除集合:

db.collection.drop()
4、 最简单的增删改查

打开cmd定位到bin目录输入mongo进入shell命令输入界面

(1)、insert插入数据

当使用mongo进入shell时会自动进入test数据库然后直接输入db.web39.insert({“name”:”小明”,”age”:18})就可以添加一条数据
注意:mongodb是可以不用手动创建数据集合(数据表)不用手动创建字段名、会根据所添加的数据自动分配字段名

(2)、find查询

通过:db.web39.find()这样就可以查询到web39下面的所有数据

(3)、update修改

注意:update有两个参数、第一个为查询条件、第二个参数为修改的值
Db.web39.update({“name”:”xxx”},{“age”:18})
注意:updata修改时没做其他处理会吧第二个参数中没有填写的字段名全部去除

(4)、remove删除

注意:千万别使用remove()不带参数否则后果自负
Remove(“age”:18)

二、 详细讲解增删改查

1、 注意如果再次运行mongod时发生错误请删除数据存储文件db下的lock file文件 没发生错误不用管
Insert操作
单条数据插入:
(1) insert中的语法与json一样、可以是字符串、数组、也可以是嵌套的对象

 db.web39.insert({"name":"小明","password":"123456","address":{"city":"重庆"},"
tel":"18423075400","link":["打篮球","打麻将","斗地主"]})

多条数据插入:
可以再shell中提前编写一个对象如:

var obj = [{"name":"小明","age":18},{"name":"小明","age":18},{"name":"小明","a
ge":18},{"name":"小明","age":18},{"name":"小明","age":18},{"name":"小明","age":1
8}]

在使用for循环插入数据

For(var i =0;i<obj.length;i++){
   Db.web39.insert(obj[i])
}

Find操作
1、<、>、<=、>=、!=、= 注意匹配的是数值
大于:

Db.web39.find({“age”:{$gt:18}})查询age大于18的数据 

大于等于:$gte
小于:

Db.web39.find({“age”:{$lt:18}})查询age小于18的数据

小于等于: l t e 不 等 于 : lte 不等于: ltene

Db.web39.find({“age”:{$nt:18}})查询age不等于18的数据

等于:{“age”:18}
Count:查询数据条数

Db.web39.count() 
Db.web39.count({name:xxx})

Limit控制查询条数

Db.web39.find().limit(2)查询两条数据

skip:查询时跳过指定条数

db.web39.find().skip(3)跳过3条数据查询

limit与skip结合使用就可以实现分页查询

db.web39.find().limit(3).skit(xx)

排序sort({xxx:1/-1}) 1升序 -1降序
Group分组查询

Db.web39.group(
	{
		Key:{‘字段名’:true},
        Reduce:function(obj[当前文档],字段名){字段名.count++},
        Initial:{count:0}
}
)

Key/reduce/initial必写参数
Cond:条件判断类似sql中的where
Distinct:去除重复值
Db.web39.distinct(‘age’)

2、 and/or/in

(1)、and &&
Db.web39.find({“name”:”二狗子”,”age”:18})
(2)、or ||
Db.web39.find({KaTeX parse error: Expected 'EOF', got '}' at position 14: or:[{},{},{}]}̲) (3)、in Db.…in:[‘值1’,’值2’]}})
KaTeX parse error: Expected '}', got 'EOF' at end of input: …Db.web39.find({where:function(){}})

Update

1、 整体更新:当更新数据后如果在跟新是没有填写所有字段则没填写的字段都会被删掉
2、 局部更新:使用KaTeX parse error: Expected '}', got 'EOF' at end of input: …e({name:’小明’},{set:{age:100}})
3、 upsert:在使用update修改时第一个参数为查找、如果没有查找到想要修改的数据则添加一条数据在update第三个参数设置为true即可
db.web39.update({xxx:xxx},{xxx:xxx},true)
4、 批量更新:使用{multi:true}启用批量更新但是必须配合KaTeX parse error: Expected '}', got 'EOF' at end of input: …te({name:/小/},{set:{age:20}},{multi:true})
Remove操作
这个操作在上一篇简单的说过,这里就不赘述了。
删除多条数据
Db.xxx.remove({age:18})
删除一条数据
Db.xxx.remove({age:18},true)
删除所有
Db.xxx.remove({})

Mongodb导出导入

1、 导出数据库mongodump –d 要导出的数据库名称 –o 导出的保存路径
Mongodump –d student –o F:\mongo\db\student
2、 导入数据库mongorestore F:\mongo\db

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值