• MongoDB使用经验总结


    摘要:

      最近在开发项目使用了数据库MongoDB,我将它的使用方法整理下分享给大家。至于mongoDB有什么优点,大家可以到官网去看。

    安装:

      首先我们需要到官网下载适合自己系统的mongodb。

    windows:

      你可以在命令窗口中输入下面命令来查看自己的系统参数,选择对应的版本

    wmic os get osarchitecture

    如果你下载的是zip文件,只需要按照下面的步骤来就可以安装了:

    1、将下载的文件解压缩到自己想要安装的目录,比如:D: est。将解压的文件夹名改成mongodb,在mongodb文件里面包含bin文件等。

    2、创建数据和日志仓库,新建文件夹D: estmongodbdatadb和D: estmongodbdatalog,在log文件夹下新建一个日志文件MongoDB.log。

    3、设置数据仓库路径并启动,MongoDB默认的数据仓库是datadb,我们需要更改为自己设置的路径,在命令提示窗内输入

    >d:

    d:>cd D: estmongodbin

    D: estmongodbin>mongod --dbpath "D: estmongodbdata"

    如果控制台看到类似的信息就说明安装成功了

    注意:关闭该窗口就关闭了mongodb的服务,如果你想关闭服务可以使用Ctrl+c来关闭。

    4、测试连接,重新打开一个命令窗口,进入到上面的目录下,然后输入mongo或者mongo.exe当出现下面信息时说明测试通过,此时我们已经进入了mongo的默认数据库test这个数据库。

    5、上面提到关闭窗口mongo的服务就被关闭了,这样的话每次我们需要mongoDB服务时都要开启mongod.exe程序,比较麻烦。我们可以将mongo设置为windows的默认服务。

    在mongodb的bin目录下执行下面命令

    mongod --dbpath "D: estmongodbdatadb" --logpath "D: estmongodbdatalogMongoDB.log" --install --serviceName "MongoDB"

    参数详解:

    –install : 安装

    –remove : 移除

    –serviceName <name> : 服务名称

    –serviceDisplayName <display-name> : 服务列表显示名称

    –serviceDescription  <description> : 服务描述

    设置好之后只需要执行下面命令就可以启动mongoDB

    NET START MongoDB

    6、关闭和删除

    关闭:

    net stop MongoDB

    删除:

    sc.exe delete MongoDB

    如果你下载的是msi文件,只需要双击安装文件,一步一步安装就可以。最后你会在C:Program Files目录下发现MongoDB 2.6 Standard文件。这个文件和我们下载的zip文件类似,我们只需要按照zip文件安装的方法安装即可。

    MAC:

    如果你的系统是mac,有两种方法安装

    1、使用brew,只需要执行下面命令就可以安装mongoDB

    brew install mongodb
    或者
    brew install mongodb --with-openssl
    在或者
    brew install mongodb --devel

    2、常规安装

    先down下来文件包

    curl -O http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.6.6.tgz
    解压
    tar -zxvf mongodb-osx-x86_64-2.6.6.tgz

    然后将文件复制到安装目录

    mkdir -p mongodb
    cp -R -n mongodb-osx-x86_64-2.6.6/ mongodb

    3、将安装路径配置到rc file 

    export PATH=<mongodb-install-directory>/bin:$PATH

    4、创建数据仓库

    mkdir -p /data/db

    5、设置数据路径

    mongod --dbpath <path to data directory>

    注意:不要将mongod.exe文件在公共网内可见,因为MongoDB是在可信任的环境中执行的。

    操作数据库:

     启动mongodb,创建数据库mongotest

    use mongotest;

    向mongotest的user表插入数据

    db.user.insert({
      name:'zhangsan',
      age:20
    });

    我们在node环境下来操作数据库

    mkdir myproject
    cd myproject

    创建package.json文件如下

    {
      "name": "myproject",
      "version": "1.0.0",
      "description": "My first project",
      "main": "index.js",
      "repository": {
        "type": "git",
        "url": "git://github.com/christkv/myfirstproject.git"
      },
      "dependencies": {
        "mongodb": "~2.0"
      },
      "author": "Christian Kvalheim",
      "license": "Apache 2.0",
      "bugs": {
        "url": "https://github.com/christkv/myfirstproject/issues"
      },
      "homepage": "https://github.com/christkv/myfirstproject"
    }

    执行npm install命令来安装mongoDB模块。新建文件mongotest.js,内容如下:

    var mongodb = require('mongodb');
    
    var server = new mongodb.Server("127.0.0.1",27017,{});//本地27017端口
    
    new mongodb.Db('mongotest',server,{}).open(function(error,client){//数据库:mongotest
        if(error) throw error;
        var collection = new mongodb.Collection(client,'user');//表:user
        collection.find(function(error,cursor){
            cursor.each(function(error,doc){
                if(doc){
                    console.log("name:"+doc.name+" age:"+doc.age);
                }
            });
        });
    });

    运行:

    node mongodbTest.js

    输出结果为

    命令:

      1、基本

    show dbs 显示数据库列表
    use db 进入db数据库
    show collections 显示数据库中的集合

      2、增

    db.table.save({"id":1}) 创建名为table的表,并新增一条数据
    db.table.insert({"id":1}) 在table表中插入一条新数据,,如果没有table表,mongodb会自动创建

      3、改

    db.users.update({"id":10},{"name": "zhangsan"}) 修改id=10的记录name=zhangsan,第一个参数是查找条件,第二个参数是修改内容,除了主键,其他内容会被第二个参数的内容替换,主键不能修改

      4、删

    db.table.remove()  删除表table的所有数据,但是表还存在
    db.table.remove({"id": 1}) 删除table表的id=1的记录
    db.table.drop() 删除表table
    db.runCommand({"drop","table"}) 删除表table
    db.runCommand({"dropDatabase": 1}) 删除当前数据库

      5、查

    db.table.find() 查找table表下的所有数据

    db.collection.find({ "key" : value })

    查找key=value的数据
    db.table.findOne() 查找table表的第一条记录
    db.collection.find({ "key" : { $gt: value } }) 查找key > value的数据

      6、排序

    db.collection.find().sort({ "key1" : -1 ,"key2" : 1 })

    将查找的结果按照第一个字段降序,第二个字段升序排

    附录:

      http://docs.mongodb.org/manual/

      https://github.com/mongodb/node-mongodb-native

  • 相关阅读:
    MySql8安装使用中的一些注意
    如何在CentOS 8主机上安装Nginx Web服务器
    centos安装sqlserver
    VSCode快捷键
    C#中的委托
    Winform加载loading界面
    JayRock的一些用法:json and json rpc for .Net
    winform picturebox控件 定时让图片轮播
    sql server创建存储过程
    ftp上传单一文件示例
  • 原文地址:https://www.cnblogs.com/xiyangbaixue/p/4187174.html
Copyright © 2020-2023  润新知