MongoDB使用经验总结

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: MongoDB使用经验总结


摘要:


  

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


安装:


  

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


windows:


  

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

wmic os get osarchitecture


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


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


2、创建数据和日志仓库,新建文件夹D:\test\mongodb\data\db和D:\test\mongodb\data\log,在log文件夹下新建一个日志文件MongoDB.log。


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


>d:

d:>cd D:\test\mongodb\bin

D:\test\mongodb\bin>mongod --dbpath "D:\test\mongodb\data"


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


image.png


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


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


image.png

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


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


mongod --dbpath "D:\test\mongodb\data\db" --logpath "D:\test\mongodb\data\log\MongoDB.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


输出结果为


image.png

命令:


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 })

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


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
9月前
|
存储 NoSQL MongoDB
如何用MongoDB来进行开发
如何用MongoDB来进行开发
173 0
|
存储 JSON NoSQL
MongoDB从入门到实战之MongoDB简介
MongoDB从入门到实战之MongoDB简介
233 0
MongoDB从入门到实战之MongoDB简介
|
SQL NoSQL Java
MongoDB :第七章:总结一下学习MongoDB的心得
MongoDB :第七章:总结一下学习MongoDB的心得
133 0
|
存储 JSON NoSQL
MongoDB必备知识点全面总结(三)
MongoDB必备知识点全面总结
266 0
MongoDB必备知识点全面总结(三)
|
存储 JSON NoSQL
MongoDB必备知识点全面总结(一)
MongoDB必备知识点全面总结
575 0
MongoDB必备知识点全面总结(一)
|
存储 SQL NoSQL
MongoDB必备知识点全面总结(四)
MongoDB必备知识点全面总结
205 0
MongoDB必备知识点全面总结(四)
|
存储 NoSQL JavaScript
MongoDB必备知识点全面总结(二)
MongoDB必备知识点全面总结
313 0
MongoDB必备知识点全面总结(二)
|
设计模式 机器学习/深度学习 JSON
『MongoDB』MongoDB模型设计的成神之路
📣读完这篇文章里你能收获到 - 为什么很多人认为MongoDB是无模式? - 文档模型跟传统的关系模型有什么区别? - 关于MongoDB的模型设计模式,你知道几个? - MongoDB如何进行表关联? - 文档模型的设计规范及设计原则 - 文档建模模型设计三部曲 - 1-1关系建模,1-N关系建模,N-N关系建模的建议 - 针对不同的场景提供丰富的设计案例分享
411 0
『MongoDB』MongoDB模型设计的成神之路
|
存储 JSON NoSQL
谈谈MongoDB适用领域
本篇文章写于2019年底,现在一年半时间过去了,MongoDB的发展显然越来越好。不仅MongoDB公司上市了,且股价彪了不少。另外,新出的版本增加了很多好用的特性,尤其是在最新的MongoDB 4.0版本已支持Replica Set级别的事务,对于Secondary上的读也做了较大的优化。下面是原文: MongoDB是一个非常有前途的数据库,MongoDB官方对自己的定位是通用数据库,其实这个定位跟MySQL有些像。虽其流行度还远未达到MySQL的水平,但笔者有个可能不恰当的比较,MongoDB就像N年前的MySQL,随着时间的推移,会变得越来越强大,也会越来越流行。下面结合MongoDB
385 0
|
NoSQL 关系型数据库 数据库

热门文章

最新文章