mongodb学习笔记

来源:互联网 发布:流畅的电视直播软件 编辑:程序博客网 时间:2024/06/16 18:01

  • mongodb
    • mongodb简介
      • database collections
        • view视图
      • Documents
      • BSON
    • 安装
      • yum安装
      • 启停mongodb
      • mongodb的配置文件
      • 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术语/概念 解释/说明 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命名规范

    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 Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/gpgcheck=1enabled=1gpgkey=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 stopyum erase $(rpm -qa | grep mongodb-org)rm -r /var/log/mongodbrm -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.localdomain2017-05-04T14:13:38.169+0800 I CONTROL  [initandlisten] db version v3.4.42017-05-04T14:13:38.169+0800 I CONTROL  [initandlisten] git version: 888390515874a9debd1b6c5d36559ca86b44babd2017-05-04T14:13:38.169+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 20132017-05-04T14:13:38.169+0800 I CONTROL  [initandlisten] allocator: tcmalloc

通过shell访问mongodb

[training@localhost ~]$ mongoMongoDB shell version v3.4.4connecting to: mongodb://127.0.0.1:27017MongoDB server version: 3.4.4Welcome to the MongoDB shell.

常见命令

显示当前正在使用的数据库

test是系统默认自带的数据库,db命令显示当前正在使用数据库。

> dbtest

使用指定数据库

> use testswitched to db test

需要注意的是,mongodb允许切换到一个并不存在的数据库。当向该数据库中存入第一个数据时,mongodb就会创建该库。

> use myNewDatabaseswitched to db myNewDatabase> db.myCollection.insertOne( {x: 1} );{    "acknowledged" : true,    "insertedId" : ObjectId("590ae47c8dc50a8c2c552908")}

这个时候显示数据库为

> dbmyNewDatabase

显示所有数据库

> show dbsadmin          0.000GBlocal          0.000GBmyNewDatabase  0.000GB

转义字符

名字中如果带有空格、划线和以数字开头,可以使用转义字符

db["3test"].find()db.getCollection("3test").find()

截断

mongo的shell交互环境每行限定4095个字符,超过4095,被被截断。

CURD

C

python访问mongodb

0 0
原创粉丝点击