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”值,执行插入操作回报异常。