mongodb
mongodb简介
http://www.runoob.com/mongodb/mongodb-databases-documents-collections.html
在mongodb中,一行记录就是一个document,由k-v构成。mongodb的documents和json串类似。v可以是其他document、数组和document组
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接,MongoDB不支持 | |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
database & collections
database就是库。
collections就是表。
view视图
3.4版后,提供视图。根据已有的collections或其他views,可以创建只读的view。
Documents
- mongodb以BSON形式存储数据记录。
{
field1: value1,
field2: value2,
field3: value3,
...
fieldN: valueN
}
field命名规范
_id
是保留字段。- 不可以$开头
- 不可有.符号
- 不可为空
document支持嵌套
{
...
name: { first: "Alan", last: "Turing" },
contact: { phone: { type: "cell", number: "111-222-3333" } },
...
}
- document的最大size是16MB。
BSON
安装
yum安装
vim /etc/yum.repos.d/mongodb-org-3.4.repo
mongodb-org-3.4.repo内容是
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
yum安装mongodb
yum install -y mongodb-org
启停mongodb
sudo service mongod start|restart|stop
mongodb的配置文件
/etc/mongod.conf
mongodb的文件位置
文件位置主要在/var/log/mongodb
,/var/lib/mongo
,也需要确保运行mongodb的账号,对该文件夹有访问权限。
删除mongodb
service mongod stop
yum erase $(rpm -qa | grep mongodb-org)
rm -r /var/log/mongodb
rm -r /var/lib/mongo
mongodb使用
运行mongodb
[training@localhost ~]$ mongod --dbpath ~/MongoData/
2017-05-04T14:13:38.169+0800 I CONTROL [initandlisten] MongoDB starting : pid=6876 port=27017 dbpath=/home/training/MongoData/ 64-bit host=localhost.localdomain
2017-05-04T14:13:38.169+0800 I CONTROL [initandlisten] db version v3.4.4
2017-05-04T14:13:38.169+0800 I CONTROL [initandlisten] git version: 888390515874a9debd1b6c5d36559ca86b44babd
2017-05-04T14:13:38.169+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
2017-05-04T14:13:38.169+0800 I CONTROL [initandlisten] allocator: tcmalloc
通过shell访问mongodb
[training@localhost ~]$ mongo
MongoDB shell version v3.4.4
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.4
Welcome to the MongoDB shell.
常见命令
显示当前正在使用的数据库
test是系统默认自带的数据库,db命令显示当前正在使用数据库。
> db
test
使用指定数据库
> use test
switched to db test
需要注意的是,mongodb允许切换到一个并不存在的数据库。当向该数据库中存入第一个数据时,mongodb就会创建该库。
> use myNewDatabase
switched to db myNewDatabase
> db.myCollection.insertOne( {x: 1} );
{
"acknowledged" : true,
"insertedId" : ObjectId("590ae47c8dc50a8c2c552908")
}
这个时候显示数据库为
> db
myNewDatabase
显示所有数据库
> show dbs
admin 0.000GB
local 0.000GB
myNewDatabase 0.000GB
转义字符
名字中如果带有空格、划线和以数字开头,可以使用转义字符
db["3test"].find()
db.getCollection("3test").find()
截断
mongo的shell交互环境每行限定4095个字符,超过4095,被被截断。