mongodb高级命令 及 增删改查 高级操作 局部更新详解

本文介绍了MongoDB的高级操作,包括启动服务、连接数据库、用户管理、数据操作(增删改查)以及局部更新。详细讲解了如何创建和删除数据库、插入和查询数据、修改数据、删除数据,特别是重点阐述了局部更新技术,如更新数组内的字段和添加元素。此外,还提到了MongoDB的固定集合(Capped Collection)和GridFS存储大文件的机制。
摘要由CSDN通过智能技术生成

1、启动服务:/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongod.conf
2、以默认用户进入系统: ./mongo
3、以其它用户身份进入系统: ./mongo --host 127.0.0.1 --port 27017 -u admin -p 123456
以其它用户身份进入系统: ./mongo -u admin -p 123456
4、列出当前的数据库:show dbs
5、进入数据库(或者定义新的数据库名):use admin
注:在use mydb后,其实并没有真正的建立起来,只是表明在使用当前的数据库
5、隐式创建数据库和集合,定义一个collection(集合),名为“users”,然后插入数据:
db.users.insert({"_id":1,“name”:“mongo”})
6、创建新的用户:db.createUser({user:“admin”,pwd:“password”,roles:[“root”]})
7、创建新的数据库:use 库名 如:use testdb
创建完是无法通过show dbs查到的 必须要先向新创建的数据库中写入一条数据
db.testdb.insert({“name”:“菜鸟教程”})
然后再 show dbs
[ 启动客户端 => ./bin/mongo --host 192.168.200.100 ]

1:查看所有已经创建的数据库 => show dbs

2:切换或者创建数据库 => use 数据库名称

3:删除当前数据库 => db.dropDatabase()

4:获取当前数据库的名称 => db.getName()

5:获取当前数据库的连接地址 => db.getMongo()

6:登入用户 => use admin => db.auth(‘root’, ‘920619’) => 输出 1 表示登入成功
7:创建数据库超级管理员 => db.createUser({ user: “root”, pwd: “920619”, roles: [ { role: “root”, db: “admin” } ]})

数据库基本操作:增查删改
添加数据使用:关键字 insert 或 save
语法格式:
db.collname.insert({…})
db.collname.save({…})

插入文档数据:
db.col.insert({title: ‘MongoDB 教程’,
description: ‘MongoDB 是一个 Nosql 数据库’,
by: ‘125’,
url: ‘http://www.baidu.com’,
tags: [‘mongodb’, ‘database’, ‘NoSQL’],
likes: 100
})
查数据:find() 函数查询数据 db.col.find()
删除一条数据:remove()函数删除数据 db.col.remove({‘title’:‘MongoDB 教程’})
删除所有数据:remove()函数删除数据 db.col.remove({})
改数据:db.col.update({‘title’:‘MongoDB 教程’},{$set:{‘title’:‘MongoDB’}})

db.createCollection(“TableName”) 创建表

show collections 查看表是否创建成功

db.TableName.save({age:1}) 添加数据

db.TableName.find() 查看添加的数据是否成功(如果没有查询到任何的结果,说明添加失败)

二 , 数据类型
String: 字符串,必须是utf-8

Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)

Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)

Double:浮点数 (没有float类型,所有小数都是Double)

Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)

Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典

Null:空数据类型 , 一个特殊的概念,None Null

Timestamp:时间戳

Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)

id key
存储在MongoDB 集合中的每个文档(document)都有一个默认的主键_id,它必须是唯一的,这个主键名称是固定的,它可以是MongoDB 支持的任何数据类型,默认是ObjectId。在关系数据库的设计中,主键大多是数值型的,比如常用的int,并且更通常的是主键的取值由数据库自增获得,反观 MongoDB,它在设计之初就定位于分布式存储系统,所以它原生的不支持自增主键

删除数据
• 删除数据使用:关键字 remove
• 语法格式:db.collname.remove({条件})(不写条件删除所有记录)
注意:{}中也就是第一个参数,是要指定的删除条件。

修改数据
• 修改数据使用:关键字 update
• 语法格式: db.collname.update({条件})
db.users.update({"_id":1},{“name”:“nosql”})
和删除一样,第一个参数里面是条件匹配

查询数据
• 修改数据使用:关键字 find 或 findOne(查询一条)
• 语法格式: db.collname.find({条件})(不写条件查询所有的数据)
db.users.find({“name”:“nosql”})

增删改查的高级应用
Capped Collection (固定集合)
GridFS
插入数据 insert save
MongoDB插入原理:使用驱动程序进行插入的时候,会将数据转换成BSON格式。数据库会解析BSON,并检验是否含有“_id”键,因为“_id”键在插入到数据库时MongoDB会自动生成。而且每次插入文档不能超过4M,MongoDB1.8版本以上的支持16M
注意:
Insert和Save的区别是:用Insert插入,在集合中已经存在相同的“_id”值,执行插入操作回报异常。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星空 | 永恒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值