mongodb基础命令 一

本文详细介绍MongoDB数据库的基本操作,包括数据库的创建、删除、切换,集合的管理,数据类型的使用,以及数据的增删改查等核心功能。同时,文章还深入解析了ObjectID的构成,并提供了实际操作命令示例。

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

查看数据库

>show dbs

>show databases

 

查询出来后使用某个数据库

>use name

>use test

switched tu db test

>db

test (告诉当前数据库是 test)

(使用方法与mysql相同)

 

删除当前数据库

>db.dropDatabases()

{"dropped":"test","ok":1}

这条命令会把当前use的数据库删除

按TAB键命令自动补全

 

创建数据库直接

>use test1

switched tu db test1

当向数据库里插入数据时 show dadabases 就可以看见刚刚创建的表了

 

查看集合 (相当于关系型数据库里面,数据库里的表的概念)

>show collections

删除集合

>db.test.drop()

true

 

可存放的数据类型

  • Object ID :文档id
  • String :字符串
  • Boolean : 存储的布尔值,true 或者 false
  • Integer : 整数
  • Double : 储存浮点型
  • Arrays : 数组或列表,多个值存储到一个键
  • Object :用于嵌入式文档,一个值为一个文档
  • Null : 存储Null值
  • Timestamp : 时间戳
  • Data : 存储当前日期

 

注意:

创建日期语句

参数格式为 YYYY-MM-DD

new Data('2020-04-05')

每个文档里面都有一个属性,_id,保证文档的唯一性

_id可以自己设置(就像关系型数据库里的主键),如果没有设置Mongod里会为每一个文档提供一个独特的_id,类型为ObjectID

(每一个文档就相当一个json对象,对象里面还可以有多个json对象)

 

ObjectID是一个12字节的十六进制数:

前4个字节为当前时间戳

接下来3个字节为机器id

接下来2个字节为Mongodb的服务进程id

最后3个字节是简单的增量值

 

插入

>db.test1.insert({name:"xiaoming",age:10})

此时的数据增加了一个_id

>db.test1.insert({_id:10010,name:"xiaoming",age:10})

_id也可以自定义

这里的键值可打引号也可不打

查看

>db.test1.find()

 

保存

db.集合名称.save(document)

如果文档_id存在 它的作用可以是修改 如果不存在则是添加

 

db.集合名称.insert({}) 插入数据 , _id存在就会报错

db.集合名称.save({}) 插入数据 , _id存在就会更新

 

 

更新

db.集合名称.update()

>db.test1.update({name:"xiaoming"},{name:"xiaohong"})

把第一条name 为 "xiaoming" 的数据改为 "xiaohong"

有一个问题 如果老数据有多个值 会被覆盖为改变后的一个值

比如({name:"xiaoming",age:22})

就替换成了({name:"xiaohong"})

如果只想改变name (只修改其中某项指标,其他的不变)

db.集合名称.update({想改键值},{$set{新的键值}})

>db.test1.update({name:"xiaoming"},{$set{name:"xiaohong"}})


>db.test1.update({name:"xiaoming"},{$set{name:"xiaohong"}},{multi:true})

{multi:true}这样可以批量修改,默认情况{multi:false}

 

删除

>db.test1.remove({name:"xiaohong"},{justOne:true})

只删除一条{justOne:true}

>db.test1.remove({name:"xiaohong"})

批量删除,把name 为 "xiaohong" 的数据全部删除

注意默认情况{justOne:false}全部删除

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值