Mongodb学习笔记(1)--入门
文档
多个键及关联的值有序的放置在一起就是文档,如"greeting":"Hello World!"
特点
文档中键值对是有序的
除了字符串还可以是其他类型:
"age":18文档中的键是字符串,除极少数例外情况,可以使用任意UTF-8字符
- 键不能含有\0(空字符),这个字符用来表示键的结尾
- .和$有特殊含义,保留
- _也是保留的,但是没有强制规定
mongo不但区分类型,也区分大小写
不能有重复的键
集合
集合就是一组文档
命名
- 集合名不能是空字符串
- 不能含有\0字符
- 不能以system.开头
- 不能含有$
子集合
用.分隔的集合,比如blog.posts和blog.authors。
数据库
多个集合组成数据库
启动mongoDB
$ ./mongod.exe
启动失败,会有提示:

若如下所示,则表示启动成功:

新开一个命令行窗口,输入./mongo.exe,这里可以运行任何JavaScript程序:

shell基本操作
增
> post={
... "title":"My blog post",
... "content":"Here's my blog post.",
... "date":new Date()
... }
> db.blog.insert(post)
查
> db.blog.find()
{ "_id" : ObjectId("599300b0ab5eab2f157ace21"), "title" : "My blog post", "content" : "Here's my blog post.", "date" : ISODate("2017-08-15T14:09:27.288Z") }
> db.blog.findOne()
{ "_id" : ObjectId("599300b0ab5eab2f157ace21"), "title" : "My blog post", "content" : "Here's my blog post.", "date" : ISODate("2017-08-15T14:09:27.288Z") }
find最多显示20个匹配的文档,但也可以获取更多,以后再说。
改
> post.comments=[]
[ ]
> db.blog.update({"title":"My blog post"},post)
删
> db.blog.remove({"title":"My blog post"})
Tips
- 可以通过调用函数名来获取函数源码:
> db.blog.remove - 如果集合名称与数据库函数名称相同,那么通过db.集合名可能会报错,可以通过
db.getCollection("集合名")来获取。
Mongodb学习笔记(1)--入门的更多相关文章
- MongoDB学习笔记:快速入门
MongoDB学习笔记:快速入门 一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...
- MongoDB 学习笔记之 入门安装和配置
下载MongoDB: 下载解压即可使用. 为了启动方便和统一管理, 在Mongo根目录下建立/data, /logs, /conf文件夹. 在conf文件夹下建立mongodb.conf 文件,基本配 ...
- mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- PHP操作MongoDB学习笔记
<?php/*** PHP操作MongoDB学习笔记*///*************************//** 连接MongoDB数据库 **////*************** ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- WebSocket学习笔记——无痛入门
WebSocket学习笔记——无痛入门 标签: websocket 2014-04-09 22:05 4987人阅读 评论(1) 收藏 举报 分类: 物联网学习笔记(37) 版权声明:本文为博主原 ...
- MongoDB 学习笔记(原创)
MongoDB 学习笔记 mongodb 数据库 nosql 一.数据库的基本概念及操作 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table ...
- MongoDB学习笔记(转)
MongoDB学习笔记(一) MongoDB介绍及安装MongoDB学习笔记(二) 通过samus驱动实现基本数据操作MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB ...
随机推荐
- Django Aggregation聚合 django orm 求平均、去重、总和等常用方法
Django Aggregation聚合 在当今根据需求而不断调整而成的应用程序中,通常不仅需要能依常规的字段,如字母顺序或创建日期,来对项目进行排序,还需要按其他某种动态数据对项目进行排序.Djng ...
- 通过python-libvirt管理KVM虚拟机 代码实现
初步代码 <span style="font-size:18px;">''''' Work with virtual machines managed by libvi ...
- PD003-NET通用后台系统
PD003-NET通用后台系统 开发语言.Net 成品成品 前端技术jquery 数据库sql server .net 通用后台框架 详细信息 基于EF+MVC+Bootstrap构建通用后台管理 ...
- Mybatis缓存理解
缓存 接触过hibernate的同学都知道hibernate中有个二级缓存,mybatis也存在二级缓存.mybatis中二级缓存有什么作用呢?mybatis提供查询缓存,可以提高查询效率,减轻数据库 ...
- Eigen教程(4)
整理下Eigen库的教程,参考:http://eigen.tuxfamily.org/dox/index.html Array类和元素级操作 为什么使用Array 相对于Matrix提供的线性代数运算 ...
- iOS 使用Masonry介绍与使用实践:快速上手Autolayout
介绍 Masonry 源码:https://github.com/Masonry/Masonry Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 ...
- Linux下RTL-SDR基础环境安装
安装 cmake and libusb apt-get install cmake apt-get -dev 安装 RTL-SDR sudo apt-get install rtl-sdr kali已 ...
- java中的元数据
java中的Annotation和C#中的Attribute相似. 写法上差别较大 @Target(ElementType.METHOD) @Retention(RetentionPolicy.CLA ...
- mac OS X:[11]如何添加打印机
苹果菜单中,单击下拉列表中的『系统偏好设置』: 或在Dock上,单击『系统偏好设置』图标. 2 在『系统偏好设置』窗口中,单击『打印机与扫描仪』图标. 3 在『打印机与扫描仪』窗口中,单击打印机框架下 ...
- openvpn之安装篇
之前整过openvpn,现把一些过程记录下来,方便以后查阅. #!/bin/bash cd /usr/local/srcyum install pam-devel.x86_64 -ywget http ...