Way to MongoDB
1.MongoDB术语/概念:database,collection,document,field,index
SQL术语/概念:database,table,row,column,index
2.
所有存储在集合collection中的数据都是BSON格式
BSON是一种类json的一种二进制形式的存储格式,简称BinaryJSON
3.
1).文档中的键/值对是有序的
2).MongoDB区分类型和大小写
3).数据库名字:应全部小写,最多64字节
4.
db和collection都是延时创建的,在添加document时才真正创建
当第一个文档插入时,集合就会被创建(也就是说,可以不用单独创建集合)
5.常用命令:
1).use DATABASE_NAME
如果数据库不存在,则创建数据库,否则切换到指定数据库
刚创建的数据库并不在数据库的列表中(show dbs),要显示它,需要向新建的数据库中插入一些数据
2).查看所有数据库,可以使用show dbs命令
3).删除数据库
db.dropDatabase()
如:
>use test;
switched to db test
>db.dropDatabase();
{"dropped":"test","ok":}
>show dbs;
admin .000GB
local .000GB
4).删除集合
db.COLLECTION_NAME.drop()
5).使用insert()或save()方法向集合中插入文档,语法如下:
db.COLLECTION_NAME.insert(document)
>show dbs;
admin .000GB
local .000GB
>use test;
switched to db test
>db.col.insert({name:"lxw",age:,tags:["Linux","Python","Network"]})
WriteResult({"nInserted":})
>show collections
col
以上实例中col是集合名,如果该集合不在该数据库test中,MongoDB会自动创建该集合并插入文档。
查看已插入的文档
>db.col.find()
{"_id":ObjectId("585b79a4f1f502dcb0967539"),"name":"lxw","age":,"tags":["Linux","Python","Network"]}
插入文档也可以使用db.col.save(document)命令。如果不指定_id字段save()方法类似于insert()方法。如果指定_id字段,则会更新该_id的数据
6).查询数据
db.COLLECTION_NAME.find()
find()方法以非结构化的方式来显示所有文档,如果需要以易读的方式来读取数据,可以使用pretty()方法,语法格式如下:
db.COLLECTION_NAME.find().pretty()
除了find()方法之外,还有一个findOne()方法,它只返回一个文档
7). 只查询某个指定的字段
> db.mof.find({},{news_time:, _id:})
{ "news_time" : "2017-01-09" }
{ "news_time" : "2017-01-09" }
{ "news_time" : "2017-01-06" }
{ "news_time" : "2017-01-06" }
{ "news_time" : "2017-01-04" }
{ "news_time" : "2017-01-04" }
{ "news_time" : "2016-12-29" }
{ "news_time" : "2016-12-29" }
{ "news_time" : "2016-12-30" }
{ "news_time" : "2016-12-30" }
{ "news_time" : "2016-12-27" }
{ "news_time" : "2016-12-29" }
{ "news_time" : "2016-12-29" }
{ "news_time" : "2016-12-29" }
{ "news_time" : "2016-12-27" }
{ "news_time" : "2016-12-27" }
{ "news_time" : "2016-12-23" }
{ "news_time" : "2016-12-23" }
{ "news_time" : "2016-12-23" }
{ "news_time" : "2016-12-21" }
Type "it" for more
8). 查看某个collection中的document条数:db.COLLECTION_NAME.find().size()
References:
Way to MongoDB的更多相关文章
- 【翻译】MongoDB指南/聚合——聚合管道
[原文地址]https://docs.mongodb.com/manual/ 聚合 聚合操作处理数据记录并返回计算后的结果.聚合操作将多个文档分组,并能对已分组的数据执行一系列操作而返回单一结果.Mo ...
- 【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...
- 【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...
- 【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...
- 【翻译】MongoDB指南/CRUD操作(一)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...
- CRL快速开发框架系列教程十二(MongoDB支持)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- MongoDB系列(二):C#应用
前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...
- MongoDB系列(一):简介及安装
什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为应用提供可扩展的高 ...
- [原]分享一下我和MongoDB与Redis那些事
缘起:来自于我在近期一个项目上遇到的问题,在Segmentfault上发表了提问 知识背景: 对不是很熟悉MongoDB和Redis的同学做一下介绍. 1.MongoDB数组查询:MongoDB自带L ...
- 用MongoDB分析合肥餐饮业
看了<从数据角度解析福州美食>后难免心痒,动了要分析合肥餐饮业的念头,因此特地写了Node.js爬虫爬取了合肥的大众点评数据.分析数据库我并没有采用MySQL而是用的MongoDB,是因为 ...
随机推荐
- jquery1.7+里不能用checked获得checkbox的属性
jquery1.7+以后用.attr('checked')得到的,都是undefined. 结论就是.attr()不能用于普通对象,数组,窗口,文档.要重新获取改变的dom属性,需要用.prop()方 ...
- C++标准库之mutex
互斥锁有可重入.不可重入之分.C++标准库中用mutex表示不可重入的互斥锁,用recursive_mutex表示可重入的互斥锁.为这两个类增加根据时间来阻塞线程的能力,就又有了两个新的互斥锁:tim ...
- java----Servlet的生命周期
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...
- 微软ASP.NET网站部署指南(8):部署Code-Only更新
1. 综述 初始化部署以后,你须要继续维护和更新你的网站.本章节将向你展示一个不包含数据库改变的部署升级流程.(下一章节将展示数据库改变的部署升级流程.) 提醒:假设依据本章节所做的操作出现错误信息 ...
- Windows下基于eclipse的Spark应用开发环境搭建
原创文章,转载请注明: 转载自www.cnblogs.com/tovin/p/3822985.html 一.软件下载 maven下载安装 :http://10.100.209.243/share/so ...
- 查看linux系统外网ip命令
终端中输入 curl ipinfo.io 或者 curl ifconfig.me 即可通过IP地址检测网站提供的api获得取本机的外网IP,或者以 JSON 格式返回全部结果.
- 敏捷开发Scrum学习
官方:http://baike.baidu.com/link?url=VGFzdJpuHX3g90kIX6l1QABWMmBNyf30sTGuEcJ6OJVMq0Cot1G9Imbu1gls-xpI6 ...
- MyBatis笔记——EhCache二级缓存
介绍 ehcache是一个分布式缓存框架. 我们系统为了提高系统并发,性能.一般对系统进行分布式部署(集群部署方式) 不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统开发.所以要使用分布式缓 ...
- 利用jsPerf优化Web应用的性能
在前端开发的过程中,掌握好浏览器的特性进行有针对性的性能调优是一项基本工作,jsperf.com是一个用来发布基于HTML的针对性能比较的测试用例的网站,你可以在jsPerf上在线填写和运行测试用例, ...
- 巨蟒python全栈开发flask14项目开始6
1.App未读消息显示 2.发起好友请求 3.同意拒绝好友请求 4.玩具社交圈 1.App未读消息显示 2.发起好友请求 3.同意拒绝好友请求 4.玩具社交圈