一、开篇

  传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。

  在上一篇博文中,我们介绍了如何安装和配置MongoDB。同时,还将其制作成了Windows服务,方便使用。那么,本文我们将通过实际操作来继续介绍MongoDB。

二、开启服务

  在上篇博文中,我们已经在自己的系统上安装了MongoDB服务。开启服务有两种方法,可以直接用shell命令;也可以在Windows服务窗口中找到对应的服务启动。

  • 使用命令行启动服务
    在cmd界面输入:

    net start "MongoDB" // 启动服务
    

    如果要停止服务,也可以输入命令:

    net stop "MongoDB" // 停止服务
    

  • 使用服务窗口界面启动服务
    右击“计算机”--“管理”,然后点击左边下拉框中的“服务”。在右边的详情中找到“MongoDB”的服务。右击,点击“启动”(或“停止”)。

三、使用mongo.exe 执行数据库增删改查操作

  在之前的安装路径D:/MongoDB/bin下找到mongo.exe。双击运行exe程序:

  表示当前使用的数据库连接是test数据库,这是默认将要创建的。为什么说是“将要创建的”呢?因为此时并不存在此数据库,或者说它现在还只在内存中,并没有创建在物理磁盘上。只有当你执行了插入数据的命令后,该数据库才会真正的创建。

在shell界面输入命令行:

use cnblogs //表示使用之前创建的数据库

然后使用插入数据的命令行:

db.users.insert({'name':'Julian','age':24},{'name':'Jiang','age':20}) // 键值对的形式,尝试添加两条记录。

但是发现数据只插入了一条。如果要插入两条记录则要写成:

db.users.insert({'name':'Julian','age':24})
db.users.insert({'name':'Jiang','age':20})

这里的users是临时创建的集合,类似数据库中的表名。如果要查看里面现有的记录可以用以下命令行:

db.users.find()

当然,实际情况下,我们会使用到多个集合。所以我们有插入一个class集合:

db.class.insert({'classID':'ClassOne','className':'ClassNameOne'})

然后用以下命令行查看当前数据库中包含的集合:

show dbs // 查看数据库列表
show collections // 查看集合列表

前面介绍了如何插入查看记录,接下来就一起来介绍修改删除的命令行:

db.users.update({'name':'Julian'},{'$set':{'age':10}},upsert=true,multi=false)  

上面的参数具体表示:

  第一:查询的条件
  第二:更新的字段
  第三:如果不存在则插入
  第四:是否允许修改多条记录

至于删除记录,命令行如下:

db.users.remove({'name':'Jiang'}) //参数为:要删除的条件

如果要删除所有记录

db.users.remove()

删除collection集合

db.users.drop()

删除当前数据库

db.dropDatabase()

  好了,基本的增删改查就介绍完了,还有些复杂的语句这边就先不介绍了。可以看MongoDB官网的帮助文档,http://docs.mongodb.org/manual/reference/sql-comparison/

  大家有没有发现,使用mongo.exe虽然能实现功能,但是操作太过于麻烦,非常的不方便。那么,MongoDB有没有好用的数据库管理工具呢?答案当然是肯定的。这里,我们介绍一款比较常用的管理工具:MongoVUE。

四、MongoDB可视化数据库管理工具MongoVUE

  下载地址:http://www.mongovue.com/downloads/

  点击下载链接,下载安装最新版软件到本地就可以了。安装操作比较简单,这边就不介绍了。MongoVUE是一款免费试用15天,然后收费的产品,如果想要破解版或者找破解教程的朋友,可以自行问度娘问谷哥,这边就不扩展了。(PS:真的有需求的朋友,可以留言或私信给我)

  具体如何来使用MongoVUE管理工具,在下一篇博文中,我将给大家详细介绍。敬请关注,谢谢~

2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查的更多相关文章

  1. MongoDB基础入门002--基本操作,增删改查

    一.这里只是演示最基本的操作,更多的信息可以去官网.https://docs.mongodb.com/manual 打开一个cmd,输入mongo命令打开shell,其实这个shell就是mongod ...

  2. Django-Model操作数据库(增删改查、连表结构)

    一.数据库操作 1.创建model表         基本结构 1 2 3 4 5 6 from django.db import models     class userinfo(models.M ...

  3. MongoDB学习day04--NodeJs操作数据库增删改查

    一.在Nodejs中使用Mongodb Nodejs需要引入的包 npm install mongodb --save -dev 或者使用镜像 cnpm install mongodb --save ...

  4. phpcms 操作数据库 增删改查

    数据库的其他类继承的都是libs/class/model.class.php 这里面有写好的操作数据库的常用方法 1.增 insert($data, $return_insert_id = false ...

  5. java操作数据库增删改查的小工具1--TxQueryRunner

    在java程序中,一般使用jdbc连接数据库,比较麻烦,在看传智教程时学了一个工具类,用于简化与数据库之间的操作步骤,就是TxQueryRunner,他是QueryRunner的子类,用起来和他是一样 ...

  6. JavaWeb学习记录(七)——MVC操作数据库增删改查与分页功能

    一.分页工具类 package blank.util;import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; ...

  7. java操作数据库增删改查的小工具2--TxQueryRunner

    当涉及到多表查询时,如数据库中有两张表分别为t_person和t_address,表结构如下: 其中t_person的外键为t-address的主键aid, 新建两个javaBean类,Person ...

  8. 前端web通过flask操作数据库-增删改查

    后端python代码: #coding:utf8 from flask import Flask,request,render_template import pymysql as mysql imp ...

  9. python操作mysql数据库增删改查的dbutils实例

    python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...

随机推荐

  1. 盘点国内网站常用的一些 CDN 公共库加速服务

    CDN公共库是指将常用的JS库存放在CDN节点,以方便广大开发者直接调用.与将JS库存放在服务器单机上相比,CDN公共库更加稳定.高速.一 般的CDN公共库都会包含全球所有最流行的开源JavaScri ...

  2. Dynamic CRM 2013学习笔记(十六)用JS控制Tab可见,可用

    一个Form里经常会有好几个Tab,有时要根据一些条件设置哪些Tab可用,可见.下面就介绍下如何用JS对Tab进行控制. 1. 控制可见   function setTabVisableByName( ...

  3. 跟我一起学WCF(9)——WCF回调操作的实现

    一.引言 在上一篇文章中介绍了WCF对Session的支持,在这篇文章中将详细介绍WCF支持的操作.在WCF中,除了支持经典的请求/应答模式外,还提供了对单向操作.双向回调操作模式的支持,此外还有流操 ...

  4. JS模块间错误隔离

    问题背景: 页面中有多个功能模块,怎么在一个模块出了问题之后,保证其它模块的正常工作. 上面的差不多就是面试官的原话了,姑且称之为模块间错误隔离问题 第一反应是动态按需加载代码,用户操作发生后再加载对 ...

  5. 微软BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server)

    [公告]本博客于2015年10月起不再更新 新博客文章主要发表在商业智能BI社区: http://www.flybi.net/blog/biwork 博客地图自动分类 文章目录方便更好的导航,阅读文章 ...

  6. 开发VR游戏的基本要求

    由于我对VR技术的兴趣,我特意去网上查找了一下如果要从事VR游戏的开发,程序员要掌握的一些能力和要求.可能不太详细,只供参考. 1. C++ 语言必须过关,现在大部分的3dengine都用c++,不管 ...

  7. 云端持续集成——AppVeyor拥抱GitHub

    想着你正在做一个网站 终于大功告成了,提交了代码后,你按下了开发环境的Build菜单,一杯咖啡后,Build Succeed,然后连接服务器,开始部署 当你乐滋滋的享受着你的开发成果时,突然发现了一个 ...

  8. html中的图片直接使用字符串代替

    最近来了一个网页,里面有图片,但是却没有引用外部的图片资源,很好奇.查看代码后发现,里面的图片是使用base64编码后的字符串代替了,这个叫做Data URI scheme. Data URI sch ...

  9. JAVA学习中Swing概述中的JFrame学习

    package com.swing; import java.awt.Color;import java.awt.Container;import java.awt.event.WindowAdapt ...

  10. python类的特性

    #encoding=utf-8 class Province: #静态字段 memo = '这里是静态变量' def __init__(self,name,capital,leader,flag): ...