mongodb
mongodb简介
database collections
view视图 DocumentsBSON 安装
yum安装启停mongodbmongodb的配置文件mongodb的文件位置删除mongodb mongodb使用
运行mongodb通过shell访问mongodb常见命令
显示当前正在使用的数据库使用指定数据库显示所有数据库转义字符截断 CURD
C python访问mongodb
mongodb
mongodb简介
http://www.runoob.com/mongodb/mongodb-databases-documents-collections.html
在mongodb中,一行记录就是一个document,由k-v构成。mongodb的documents和json串类似。v可以是其他document、数组和document组
SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引table joins表连接,MongoDB不支持primary keyprimary 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+080
0 I CONTROL [initandlisten]
MongoDB starting
: pid=
6876 port=
27017 dbpath=
/home/training/MongoData/ 64-bit host=localhost.localdomain
2017-
05-
04T14:13:38.169+080
0 I CONTROL [initandlisten] db version v3.
4.4
2017-
05-
04T14:13:38.169+080
0 I CONTROL [initandlisten] git
version: 888390515874a9debd1b6c5d36559ca86b44babd
2017-
05-
04T14:13:38.169+080
0 I CONTROL [initandlisten]
OpenSSL version: OpenSSL 1.0.
1e-fips
11 Feb 2013
2017-
05-
04T14:13:38.169+080
0 I CONTROL [initandlisten]
allocator: tcmalloc
通过shell访问mongodb
[training
@localhost ~]$ mongo
MongoDB shell
version v3.4.4
connecting to: mongodb:
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,被被截断。
CURD
C
python访问mongodb