MongoDB数据库常用操作命令

本文详细介绍了MongoDB数据库的使用,包括其C++基础、BSON格式存储、面向文档的特性、丰富的查询表达式以及JSON格式的查询指令。讨论了MongoDB与MySQL的区别,并展示了启动MongoDB、创建与删除数据库、插入、查询、修改和删除文档的操作。同时,提到了文档内的数组和嵌套文档处理,以及update和save方法的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MongoDB数据库的底层是用C++编写的。

数据储存:BSON格式(一种类似JSON的格式)。

MongoDB的特点:

1.提供一个面向文档的存储方式

2.支持丰富的查询表达式

3.查询指令使用JSON形式的标记

4.可以轻易查询文档中内嵌的对象及数组

MongoDB所支持的编程语言:

c++、python、java、PHP、c#、Ruby

数据库集合及文档的相关概念:

1.MongoDB不需要固定的表结构

2.非关系型数据库中的数据保存在文档内

3.采用BSON类型的数据格式来存储

4.每一个数据库下可以有多个集合,集合下可以有多个文档。

5.每一个文档都是由键值对形式存储的

6.每一个文档的_id都是唯一的

MongoDB和Mysql的区别

相同点:可以写多行也可以写多行

不同点:MonoDB需要区分大小写,MongoDB每个语句结尾时不加分号

MongoDB启动命令:

mongod --dbpath=..\data\db

查询数据库

show dbs

 

 

创建数据库

如果存在这个数据库就使用这个数据库,没有这个数据库就创建

刚创建数据库时,查询不到数据库的信息,因为MongoDB将创建的数据库先临时存放在内存中,当数据库中有了集合和文档才会存储

use school 

删除数据库

必须首先use数据库/切换到当前数据库

 db.dropDatabase()

在数据库中插入单条文档

db.student.insert({"_id":1,"name":"灭霸","age":22})
db.student.insert({"_id":2,"name":"钢铁侠","age":25,"class_id":1})
db.student.insert({"name":"绿巨人","age":28,"class_id":1})
db.student.insertOne({"_id":1,"name":"大娃"})

 

插入多条文档

 

db.student.insert([
{"_id":5,"name":"黑寡妇"},
{"_id":4,"name":"美国队长","age":80}])

db.student.insertMany([
{"_id":2,"age":18},
{"_id":3,"age":30}])

在文档内加入数组

db.student.insert({"_id":4,"name":"马蓉","house":["北京","上海","杭州","天津"]})

 

在文档中嵌套文档

db.student.insert({"_id":5,"name":"思聪", "girlFriends":{"北京":"马蓉","北非":"如花"}})

批量插入文档

db.student.insert([
{"name":"大娃","age":6,"color":"red"},
{"name":"二娃","age":8,"color":"orange"},
{"name":"三娃","age":6,"color":"yellow"},
{"name":"四娃","age":8,"color":"green"},
{"name":"五娃","age":7,"color":"blue"}])

 

修改器介绍:

$set指定要修改的字段,如果字段不存在则添加字段,multi:true(改多条数据)

更新文档内的数据,update

//更新多条文档中的某个字段
db.student.update({"age":8},{$set:{"name":"喜痒痒"}},{multi:true})
//更新单条
db.student.update({"age":9},{$set:{"name":"美羊羊"}})
//$unset删除指定的字段
db.student.update({"age":9},{$unset:{"name":null}})

save()方法的使用

在使用时,要看看是否存在相同id的文档,如果有则覆盖相同id内的数据,没有则新增一条文档。

db.student.save({"_id":1,"age":18})
db.student.save({"_id":1,"age":20})

 

删除文档

//删除指定条件的文档
db.student.remove({"_id":1})
//批量删除
db.student.remove({"name":"喜羊羊","color":"green"})
//删除所有文档
db.student.remove({})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值