zoukankan      html  css  js  c++  java
  • MongoDB

    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

    http://www.runoob.com/mongodb/mongodb-tutorial.html  MongoDB 教程


    安装

    在win7下的安装

    http://blog.csdn.net/mzbonnt/article/details/51461331  Windows下Mongodb安装及配置  (在实验,未成功)

    这里啰嗦几句,我的电脑配置是win7 64位。试了 3.6.0 、3.7.1版本,都是装一半就停了。2.7.8是老版本,装上去还有别的问题。

    最后3.2.6装成功了,并且能启动服务(只是不能随意修改mongo.conf的参数,会失败,所以刚开始配环境先不要折腾参数了罢)。

    下载安装文件:

    • https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl  到这个网址下载下面这个文件,安装mongo
    • http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.2.6-signed.msi

    安装路径:

    • C:Program FilesMongoDBServer3.2  (需要手工创建下面几个文件、文件夹)
    • 创建目录:C:Program FilesMongoDBServer3.2data
    • 创建目录:C:Program FilesMongoDBServer3.2logs
    • 创建文件:C:Program FilesMongoDBServer3.2logsmongo.log
    • 创建文件: C:Program FilesMongoDBServer3.2mongo.conf  (拷贝下面mongo.conf的内容,先不要更改参数)

    mongo.conf

    dbpath=C:Program FilesMongoDBServer3.2data #数据库路径
    logpath=C:Program FilesMongoDBServer3.2logsmongo.log #日志输出文件路径
    logappend=true #错误日志采用追加模式
    journal=true #启用日志文件,默认启用
    quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
    port=27017 #端口号 默认为27017

    启动服务:

    • cd C:Program FilesMongoDBServer3.2in
    • mongod --config "C:Program FilesMongoDBServer3.2mongo.conf" --install --serviceName "MongoDB" 
    • net start MongoDB         (启动服务)
    • http://127.0.0.1:27017/   (看到有信息就说明成功了)
    • mongod.exe --remove --serviceName "MongoDB"  (卸载服务)
    • net stop MongoDB              (关闭MongoDB服务)

    使用:

    http://www.runoob.com/mongodb/mongodb-tutorial.html  MongoDB教程

    一般操作:

    • cd C:Program FilesMongoDBServer3.2in
    • mongo                        (MongoDB 后台管理 Shell,下面可以执行数据库语句)
    • db                                      显示当前数据库
    • use housedb                进入某数据库,没有则创建
    • db.dropDatabase()            删除数据库(要先进入某数据库  use housedb  ,再删除当前数据库)
    • show dbs                           数据库列表
    • show tables                                   显示当前数据库中的数据集(所有表)
    • db.tablename.drop()                         删除数据集(表)

    对数据集(表)的操作:

    • db.tablename.insert({"name":"教程"})          插入数据
    • db.tablename.find()                                      查询数据(表)
    • db.tablename.find({name:"教程"})                查询数据(带条件的查询)
    • db.tablename.save({_id:ObjectId("5a7ee9eea58e78eea04195b6"),"name":"教程123456"})     修改某一条数据
    • db.tablename.remove({})                             删除所有数据
    • db.tablename.remove({'name':'教程'})         删除符合条件的数据(有几条删几条)
    • db.tablename.remove({'name':'教程'},1)      删除符合条件的数据(只删一条)

    查询条件:

    • 等于                       db.tablename.find({"by":"教程"}).pretty()                        where by = '教程'
    • 小于                       db.tablename.find({"likes":{$lt:50}}).pretty()                   where likes < 50
    • 小于或等于            db.tablename.find({"likes":{$lte:50}}).pretty()                 where likes <= 50
    • 大于                       db.tablename.find({"likes":{$gt:50}}).pretty()                  where likes > 50
    • 大于或等于            db.tablename.find({"likes":{$gte:50}}).pretty()                where likes >= 50
    • 不等于                   db.tablename.find({"likes":{$ne:50}}).pretty()                 where likes != 50
    • AND 条件              db.tablename.find({key1:value1, key2:value2}).pretty()                   where key1=value1 AND  key2=value2
    • OR 条件                db.tablename.find({$or: [{key1: value1}, {key2:value2}]}).pretty()    where key1=value1 OR key2=value2
    • 排序                       db.tablename.find({}).sort({"likes":-1})                                 参数可以为1或-1

    python调用MongoDB

    from pymongo import MongoClient
    
    conn = MongoClient('127.0.0.1', 27017)
    db = conn.housedb  # 连接数据库,没有则自动创建
    my_set = db.student_tb  # 使用集合,没有则自动创建
    
    # 插入数据
    for i in range(10):
        my_set.insert({"name":"zhangsan","age":10+i})
    
    # 查询
    for i in my_set.find({"age": {"$gt": 14}}):
        print(i)

    ...

  • 相关阅读:
    665. Non-decreasing Array
    35. Search Insert Position
    CompositePattern(组合模式)-----Java/.Net
    BridgePattern(桥接模式)-----Java/.Net
    AdapterPattern(适配器模式)-----Java/.Net
    设计模式系列:原型模式(Prototype Pattern)
    设计模式系列:抽象工厂模式(Abstract Factory Pattern)
    设计模式系列:工厂方法模式(Factory Method Pattern)
    设计模式系列:简单工厂模式(Simple Factory Pattern)
    设计模式系列:单例模式(Singleton Pattern)
  • 原文地址:https://www.cnblogs.com/qq21270/p/8440325.html
Copyright © 2011-2022 走看看