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命名规范

    1. _id是保留字段。
    2. 不可以$开头
    3. 不可有.符号
    4. 不可为空
  • 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,被被截断。

CURD

C

python访问mongodb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值