作为一个做底层及后台研发的,最近对NoSQL却产生了浓厚的兴趣,加入了一个DBA群,据说北京排的上号的DBA都在里面,然而里面基本都是Oracle系的,MySQL和MongoDB系的少之又少。学习靠不得别人,要和Oracle大佬们撕比尚需时日。

废话少说,在抱怨关系型数据库的死板及开发效率,力推NoSQL之后,NoSQL的代表之一MongoDB也受过一些质疑,比如《Don't use mongoDB》一文。然而NoSQL的应用却还是没有停下,比如滴滴就是NoSQL。在去IOE的大趋势下,阿里选的是MySQL,大部分公司基本也选的是MySQL(MySQL比MongoDB早)。大公司肯定不太愿意,或者主动向新的数据库迁移,因为代价太大,而且也由于公司及数据规模也必然趋于保守选择(最近Oracle的盛会上看到刚发布的sharding特性,然而一般NoSQL早就支持了)。

为什么要向MongoDB迁移,以及迁移会有带来什么问题恐怕只有亲身做过的大牛才能回答。一般的说法是因为NoSQL更适合于集群,大多数NoSQL的研发动机都是为了适应集群,NoSQL不像关系型数据库那样死板,比较轻量级。

1.基本操作

创建数据库并插入,MongDB是文档型NoSQL数据库,集合相当于关系型数据库中的表,文档相当于一行数据。语法与JavaScript类似。下面是一些基本的增删改查操作。

创建数据库

>Use myfirstdb

创建集合

>db.createCollections(“Company”);

插入一条数据

>db.Company.insert({uid:1, username: “Tom”, age: 25});

>WriteResult({ "nInserted" : 1 })

查询记录:

查询整个集合中的记录

>db.Company.find();

查询指定字段的记录

>db.Company.find({username: “Jerry”});

修改记录:

>db.Company.update({username: “Truman”}, {$set: {age : 50}});

删除记录:

>db.Company.remove({uid: 1});

 

2. Problems

在Windows下尝试搭建一个学习实验环境碰到的问题。

1.服务无法启动的问题

采用源码包可能存在问题,所以直接使用安装程序,即.msi文件。学习MongoDB解决的第一个问题就是如何启动MongoDB服务并进入数据库。MongoDB安装完成后启动:

$net start mongdb

这时可能会报无法启动服务的错误。Windows下可以先打开任务管理器,查看服务中是否已经有了MongoDB,如果有则可以先卸载MongoDB,之后重新安装,再net start mongodb,若输出MongoDB服务已经启动,则执行mongo.exe即可进入数据库命令行。

2.服务无法启动

从控制面板中无法启动服务,报错,网上说的都不靠谱。

015-10-29T20:14:48.328+0800 W NETWORK  Failed to connect to 127.0.0.1:27017, reason: errno:10061 由于目标机器积极拒绝,无法连接。

卸载mongodb服务并重装后问题解决,然而这显然不行,必须以热方式解决。后来发现mongodb安装数据目录下会有一个.lock文件,删除文件以后重启服务就可以启动了,但为什么会这样还需要研究。Net start mongodb重启服务。

以上纯属个人浅见,初学欢迎探讨指正~

MongoDB自学日记1——基本操作的更多相关文章

  1. MongoDB自学日记3——架构及HA

    在对mongoDB的操作有了一定基础后,终于可以扯扯HA和架构这两个高大上的概念了.在这之前当然还得弄清楚mongoDB的Key feature:Sharding. 1. Sharding Shard ...

  2. MongoDB自学日记2——权限

    首先应该明确的是为什么要学MongoDB.OK,如果是仅仅出于对于流行技术的原始兴趣,可能并不能深入学习,还必须有应用需求.刚开始学习MongoDB,因为以前对其它数据库的了解也不是特别深入,所以许多 ...

  3. MongoDB的ObjectId和基本操作增删改查(3)

    ObjectId 基本操作增删改查 增: insert 介绍: mongodb存储的是文档,. 文档是json格式的对象. 语法: db.collectionName.insert(document) ...

  4. MongoDB的安装和基本操作

    一.使用前的准备(windows下的安装)  1.下载 目前MongoDB的官网不知道问什么不能进行下载了,但是可以在MongoDB中文论坛进行下载, 地址如下:http://www.mongoing ...

  5. MongoDB文档的基本操作

    1. MongoDB的安装方法 (1)下载MongoDB 相应的版本: (2)设置数据文件和日志文件的存放目录: (3)启动MongoDB服务: (4)将MongoDB作为服务启动. 2. Mongo ...

  6. 学习MongoDB 七: MongoDB索引(索引基本操作)(一)

    一.简介 在MongoDB建立索引能提高查询效率,只需要扫描索引只存储的这个集合的一小部分,并只把这小部分加载到内存中,效率大大的提高,如果没有建立索引,在查询时,MongoDB必须执行全表扫描,在数 ...

  7. MongoDB 安装和即基本操作

    http://www.mongodb.org/ Agile and Scalable MongoDB (from "humongous") is an open-source do ...

  8. MongoDB自学笔记2---1.2 初识MongoDB

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

  9. MongoDB自学笔记1----1.1 NoSQL是什么?

    第一章 走进MongoDB 1.1NoSQL是什么?       1.1.1NoSQL简介        对于不了解NoSQL的人都会认为NoSQL为No SQL,即不是SQL.但是这种理解是错误的, ...

随机推荐

  1. Linux的设备文件名与硬盘分区已经挂载点的关系

    以CentOS6.3为例. 选择的硬盘设备名是/dev/sda,即第一块STAT硬盘,然后在该硬盘分了3个主分区和1个扩展分区,设备名分别是/dev/sda1,/dev/sda2,/dev/sda3, ...

  2. Android开发入门——Andoird Studio的安装与配置

    Android的开发离不开Java,仍然需要对Java进行安装与配置,所以我写了上一篇文章,Java的安装与配置. 开始进行Android Studio的安装与配置. 一.进行配置Java,如果电脑里 ...

  3. 世界卫生组织(WHO)发出最新警告:埃博拉疫情应急响应

    10月14r日.世界卫生组织(WHO)发出警告:在未来两个月内,西非国家将面对"could face up to 10 thousand new Ebola cases a week wit ...

  4. Hibernate——(1)Hibernate入门

    一.Hibernate简介 1.Hibernate是一款ORM框架,Object Relation Mapping 对象关系映射. 2.可以将DB映射成Object,这样程序只要对Object对象进行 ...

  5. python判断栈的弹出序列是否合法

    参考:https://www.2cto.com/kf/201701/552515.html 数据结构之判断栈的弹出序列是否合法:输入两个整数序列,第一个序列表示栈的压入序列,请判断第二个序列是否为该栈 ...

  6. Android app设置全屏模式

    Android中,为APP设置全屏模式,主要有如下几种方式: 在manifest中设置 在项目中找到AndroidManifest.xml配置文件,找到Activity所在的节点,添加theme. & ...

  7. C#实现通过拼多多分享微信公众号实现查询优惠券、佣金比率

    主要实现功能:关注公众号的用户发送拼多多商品链接,后台程序通过链接查找商品优惠券或返佣情况. 说明:使用了niltor 封装的拼多多接口 github地址 ,但是需要注意可能会存在返回模型无法正确解析 ...

  8. /var/tmp/.oracle 和 oracle listener (监听)的一点理解

    关于 /var/tmp/.oracle 的作用測试 ~---查看 /var/tmp 的权限 [root@lixora var]# ll total 164 ... drwxrwxrwt  3 root ...

  9. 使用CMD实现批量重命名[转]

    关键字:cmd DOS 批处理 批量 重命名 作者:lifesinger地址:http://www.cnblogs.com/txw1958/archive/2012/12/24/cmd-batch-r ...

  10. Atitit.Gui控制and面板----db数据库领域----- .比较数据库同步工具 vOa

    Atitit.Gui控制and面板----db数据库区----- .数据库比較同步工具 vOa 1. 咨微海信数据库应用 工具 1 2. 数据库比較工具 StarInix SQL Compare    ...