zoukankan      html  css  js  c++  java
  • MongoDB简单使用

    一、MongoDB简介

      1、MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
      2、MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似jsonbson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引
      3、MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。
      4、丰富的功能
           MongoDB作为一款通用型数据库,除了能够创建、读取、更新和删除数据之外,还提供了一系列不断扩展的独特功能。
    #1、索引 支持通用二级索引,允许多种快速查询,且提供唯一索引、复合索引、地理空间索引、全文索引。 #2、聚合 支持聚合管道,用户能通过简单的片段创建复杂的集合,并通过数据库自动优化。 #3、特殊的集合类型 支持存在时间有限的集合,适用于那些将在某个时刻过期的数据,如会话session。类似地,MongoDB也支持固定大小的集合,用于保存近期数据,如日志等... #4、文件存储 支持一种非常易用的协议,用于存储大文件和文件元数据。MongoDB并不具备一些在关系型数据库中很普遍的功能,如链接join和复杂的多行事务。省略这些的功能是处于架构上的考虑,或者说为了得到更好的扩展性,因为在分布式系统中这两个功能难以高效地实现。

    二、MongoDB的下载与安装

     1 1、下载安装
     2     https://www.mongodb.com/download-center/community
     3 2、安装路径为D:MongoDB,将D:MongoDBin目录加入环境变量
     4 3、新建目录与文件
     5 D:MongoDBdatadb
     6 D:MongoDBlogmongod.log
     7 
     8 或在C盘创建一个data/db文件夹
     9     - 数据的存放路径
    10 4、mongod启动服务
    11     进入终端,输入mongod启动mongoDB服务。
    12 
    13 5、mongo进入mongoDB客户端
    14     打开一个新的终端,输入mongo进入客户端
    15 
    16 6、、启动关闭
    17 net start MongoDB
    18 net stop MongoDB

    三、MongoDB数据库的基本操作

     1 一、数据库操作:
     2    1、切换库:
     3         SQL:
     4         use admin; 有则切换,无则报错。
     5 
     6         MongoDB:
     7         use tank; 有则切换,无则创建,并切换tank库中。
     8 
     9    2、查数据库:
    10         SQL:
    11         show databases;
    12 
    13         MongoDB:
    14         show dbs;
    15         显示的数据库若无数据,则不显示。
    16 
    17    3、删除库:
    18         SQL:
    19         drop database
    20 
    21         MongoDB:
    22         db.dropDatabase()
    23 
    24 
    25 二、集合操作:     MySQL中叫做表。
    26    1、创建集合:
    27         SQL:
    28         create table f1, f2...
    29 
    30         MongoDB:
    31         # 在当前库中通过.来创建集合
    32         db.student
    33 
    34     2、插入数据:
    35         # 插入多条数据
    36         db.student.insert([{"name1": "tank1"}, {"name2": "tank2"}])
    37 
    38         # 插入一条
    39         db.student.insert({"name": "tank"})
    40 
    41 
    42     3、查数据:
    43         # 查找student集合中所有数据
    44         db.student.find({})
    45 
    46         # 查一条 查找name为tank的记录
    47         db.student.find({"name":"tank"

    四、python链接MongoDB

    1、下载第三方模块pymongo
    pip3 install pymongo

    2、链接mongoDB客户端
    client = MongoClient('localhost', 27017)
     1 from pymongo import MongoClient
     2 
     3 #1、连接mongoDB客户端
     4 #参数1:mongoDB的ip地址
     5 #参数2:mongoDB的端口号 默认:27017
     6 client=MongoClient('localhost',27017)
     7 print(client)
     8 
     9 #2、进入lw_db
    10 print(client['lw_db'])
    11 
    12 #3、创建集合
    13 client['lw_db']['people']
    14 print(client['lw_db']['people'])
    15 
    16 #4、给lw_db库插入数据
    17 插入一条数据
    18 data1={
    19     'name':'liwei',
    20     'age':18,
    21     'sex':'male'
    22 }
    23 client['lw_db']['people'].insert_one(data1)  #data1为一条数据
    24 
    25 #插入多条数据
    26 data2={
    27     'name':'lw',
    28     'age':18,
    29     'sex':'male'
    30 }
    31 data3={
    32     'name':'lx',
    33     'age':18,
    34     'sex':'female'
    35 }
    36 client['lw_db']['people'].insert_many([data2,data3])



  • 相关阅读:
    ASP.NET中自定义控件无法响应事件的问题
    通过编程为ASP.NET页面设置缓存
    VB.NET中Module的概念
    IDENTITY列及其编号的问题
    使用XML RPC进行远程调用
    存储过程编写和优化的经验
    为控件添加设计期支持
    SSIS的一个问题
    多线程编程中的锁定(lock,Monitor)
    汉字的奥秘: 获取汉字的笔画数
  • 原文地址:https://www.cnblogs.com/lweiser/p/11066624.html
Copyright © 2011-2022 走看看