MongoDB笔记(二):MongoDB下Shell的基本操作
一、mongoDB与关系型数据库对比
对比项 | mongoDB | 关系型数据库(oracle、mysql) |
表 | 集合List | 二维表table |
表的一行数据 | 文档document | 一条记录record |
表字段 | 键key | 字段field |
字段值 | 值value | 值value |
主外键 | 无 | PK、FK |
灵活扩展性 | 极高 | 差 |
二、mongoDB基本的Shell命令
1、创建数据库、操作表之前需要先启动mongoDB数据库(既启动服务端):
启动服务:
> mongod --dbpath C:\mongodb\data
使用admin连接:
> mongo 127.0.0.1:27017/admin
注:若使用mongo 127.0.0.1:27017连接,则默认是test用户连接
2、创建一个数据库caliven:
> use [databaseName]
> use caliven
注:使用use命令,只是创建了一个空的数据库,若不做任何操作离开时空数据库会被删除
3、查看所有数据库:
> show dbs
4、创建一个集合并增加一条记录:
> db.[collectionName].insert({...})
> db.users.insert({name:"Jack"})
注:mongoDB会默认为每条记录插入一个"_id"的字段,{...}中的数据是BSON形式的数据
5、查看数据库所有集合:
> show collections
6、查询指定集合的数据:
查询所有:
> db.[collectionName].find()
> db.users.find()
查询第一条:
> db.[collectionName].findOne()
> db.users.findOne()
7、更新集合数据:
> db.[collectionName].update({查询器}, {更新内容})
> db.users.update({name:"Jack"}, {$set:{name:"Tom"}})
> var u = db.users.findOne()
> db.users.update(u, {name:"Tom"})
8、删除集合数据:
> db.[collectionName].remove({查询器})
> db.users.remove({name:"Jack"})
9、删除数据库的集合:
> db.[collectionName].drop()
> db.users.drop()
10、删除数据库:
> db.dropDatabase()
11、Shell的help:
> db.help() 可查看关于操作数据库的一些命令
> db.[collectionName].help() 可查看关于操作集合的一些命令
12、数据库和集合的命名规范:
1> 应全部小写;
2> 不能是空字符串;
3> 不能含有特殊字符,如:' ' , $ / \ 等;
4> 长度最多64个字节;
5> 数据库名称不能与现有系统保留库同名,如:admin、local、config;
6> 名称中最好不要带"-",如"test-db",虽然合法,但操作起来比较麻烦。
13、mongoDB的shell内置javascript引擎,可以直接执行javascript代码,如eval,function xxx(){.....}等。
mongoDB 2.4.8版本的API文档地址:http://api.mongodb.org/js/2.4.8/index.html
可以看看图中的相关shell执行后的效果:
在shell中执行javascript代码:
未完待续。。。。。。
MongoDB笔记(二):MongoDB下Shell的基本操作的更多相关文章
- Mongodb学习笔记二(Mongodb基本命令)
第二章 基本命令 一.Mongodb命令 说明:Mongodb命令是区分大小写的,使用的命名规则是驼峰命名法. 对于database和collection无需主动创建,在插入数据时,如果databas ...
- Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB
MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...
- mongodb篇二:mongodb克隆远程数据库,去重查询的命令及对应java语句
http://blog.csdn.net/qkxh320/article/details/16115671 1.首先操作mongodb最基本命令:: show databases; ...
- awk学习笔记二:调用shell、文件执行(转)
awk 'BEGIN {print "Hello"}' 不操作文件直接处理数据流 要调用shell则可以用管道命令 如,打印日期awk 'BEGIN {"date&quo ...
- MongoDB学习笔记二—Shell操作
数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和fal ...
- MongoDB学习笔记二- Mongoose
MongoDB学习笔记二 Mongoose Mongoose 简介 之前我们都是通过shell来完成对数据库的各种操作, 在开发中大部分时候我们都需要通过程序来完成对数据库的操作 而Mongoose就 ...
- MongoDB笔记(一):MongoDB介绍及Windows下安装
一.前言 MongoDB火了也蛮久了,关于简介看看这里吧.项目中一直没用上,最近闲的慌就自己学了下,顺便记录下以便今后复习. 本系列是基于MongoDB 2.4.8 windows 64位讲解,后面的 ...
- MongoDB学习笔记二:使用Docker安装MongoDB
目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装Mong ...
- nodejs学习笔记二——链接mongodb
a.安装mongoose库用来链接mongodb数据库 安装mongodb数据库参考mongodb安装 前言(怨言) 本来是想安装mongodb库来链接mongodb的,命令行到nodejs工程目录: ...
随机推荐
- 只用120行Java代码写一个自己的区块链-2网络
已经看完第一章的内容了吗,欢迎回来. 上一章我们介绍了关于怎么去编写自己的区块链,完成哈希和新块的校验.但是它只是在一个终端(结点)上跑.我们怎么样来连接其他结点以及贡献新的块呢,怎么样广播到其他结点 ...
- Java学习之路(书籍推荐)
一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多API的介绍,同样,更新也更频繁. ...
- Python与数据结构[3] -> 树/Tree[2] -> AVL 平衡树和树旋转的 Python 实现
AVL 平衡树和树旋转 目录 AVL平衡二叉树 树旋转 代码实现 1 AVL平衡二叉树 AVL(Adelson-Velskii & Landis)树是一种带有平衡条件的二叉树,一棵AVL树其实 ...
- 容斥原理 求M以内有多少个跟N是互质的
开始系统的学习容斥原理!通常我们求1-n中与n互质的数的个数都是用欧拉函数! 但如果n比较大或者是求1-m中与n互质的数的个数等等问题,要想时间效率高的话还是用容斥原理! 本题是求[a,b]中与n ...
- java.net.MalformedURLException: Protocol not found:
出现java.net.MalformedURLException: Protocol not found: 一般来说是url地址没有写对.没有以http://开头,或者出现空格等格式问题: 要看清楚 ...
- [BZOJ1095]捉迷藏
点了动态点分治的科技树,这道题是树形态不变的动态点分治,形态变化的话...待会补 考虑点分治过程中的这样一种结构:按递归层次把当前层的重心与上层重心互相连接,这就是点分治树,容易看出它的树高只有$O( ...
- 学习Microsoft SQL Server 2008技术内幕:T-SQL语法基础--第4章
第4章 子查询 4.2.1 Exist 谓语: use TSQLFundamentals2008 select * from Sales.Customers as C where c.country= ...
- Ubuntu 14 中 VirtualBox发生错误Kernel driver not installed (rc=-1908)
宿主系统是Ubuntu 14,在VirtualBox中安装 CentOS 6.5 时,提示如下错误: Kernel driver not installed (rc=-1908) 网友提供的解决方案: ...
- mysql-connector-java-6日期存储时差的问题解决方法
在my.ini文件中的[mysqld]下面加入 default-time_zone = '+8:00' 重启mysql 修改driver连接路径 这样日期保存到mysql就是正确的了,但是mysql- ...
- 监控Coherence成员的加入和离开集群事件
对server事件的监控主要是实现MemberListener类,对Cache事件的监控主要通过MapListener 参考代码 package coherencetest; import com.t ...