MongoDb 简单介绍

作者:吴欣伟

最近一段时间使用mongodb做媒资数据的接入,简单介绍一下mongodb的特性和语法。

1、mongodb特点

mongodb是一个基于分布式文件存储的数据库。由 C++ 语言编写。是非关系数据库当中功能最丰富,最像关系数据库的。它将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

mongodb具有自动分片、支持完全索引、支持复制、自动故障处理、高效存储二进制大对象 (比如照片和视频)的特点。mongodb查询方式更多样,可以查询文档中内嵌的对象及数组。mongodb支持mapreduce,但必须使用javascript语法,从而导致一个实例只能运行一个MapReduce线程。mongodb支持多种语言。

2、mongodb缺点

不支持事务。

不支持join,如果有join的需求,请重新设计你的mongodb或者采用mysql。

3、语法

连接:默认没有密码。
创建数据库:use data_base_name,如果不存在这个数据库则创建,存在则切换到这个数据库
查看所有数据库:show dbs
删除数据库:db.dropDataBase()
创建表并插入文档:db.table_name.insert(col_text),col_text是一条json记录
查询数据表记录:db.table_name.find(),查询一条记录:db.table_name.findOne()
删除表:db.table_name.drop(),删除表里的所有记录:db.table_name.remove({})
查询条数:db.table_name.count()
添加索引:db.table_name.ensureIndex({"b_create_time":1}),给b_create_time字段添加索引
limit和skip:db.table_name.find({column_id:1}).limit(2).skip(2)
排序:db.table_name.find().sort({ftime:1}),按ftime排序,1是升序,-1是降序
条件查询语句大于小于:db.table_name.find({"b_create_time":{"$gte":"2017-07-01 00:00:00", "$lte":"2017-07-01 01:00:00"}}),过滤b_create_time在某个时间段内
条件查询语句and:db.table_name.find({"b_create_time":"2017-09-01 00:00:00","column_id":"111222"}),多个字段间用逗号隔开
条件查询语句or:db.table_name.find({$or:[{"b_create_time":"2017-09-01 00:00:00"},{"column_id": "111222"}]})

4、其他

mongodb大小写敏感

一般我在需要定时调度批量语句时通过把sql语句写在js中通过bash调用

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏你不就像风一样

Hibernate各种主键生成策略与配置详解

主键由外部程序负责生成,在 save() 之前必须指定一个。Hibernate不负责维护主键生成。与Hibernate和底层数据库都无关,可以跨数据库。在存储对...

1252
来自专栏c#开发者

Oracle9i第2版中的UNT_FILE提高了文件输入/输出(I/O)功能。

技术 PL/SQL 提高文件操作功能 作者:Steven Feuerstein Oracle9i第2版中的UNT_FILE提高了文件输入/输出(I/O)功...

3404
来自专栏大学生计算机视觉学习DeepLearning

新手 php连接数据库大概。简单过程浅析以及遇到的问题分析

4406
来自专栏智能大石头

充血模型的ORM能做什么?——ORM组件XCode(十八般武艺)

ORM组件XCode(十八般武艺) 之前,XCode总是若隐若现,耐性好的同学想知道它还有啥特点,沉不住气的则认为不过是CURD耳! XCode开发模式是灵魂,...

2009
来自专栏我和PYTHON有个约会

33.企业级开发进阶6:数据库操作

python作为一个编程语言,在开发B/S或者C/S结构的软件时,不可避免的会设计到和数据库之间的交互操作,和其他高级的面向对象的语言一样,Python在操作数...

1052
来自专栏魏艾斯博客www.vpsss.net

MySQL 数据库类型从 InnoDB 转换为 MyISAM

魏艾斯博客有一个 wordpress 站点,有一天无意中发现数据库挺大的,可是这个站也就不到 10 篇文章,没道理这么大的数据库啊。然后开始查找原因,发现在 p...

52022
来自专栏前端儿

Web 后端--PHP 与数据库的交互

         用 PHP  操作 MySQL ,实现数据的交换,还要多练练....

1281
来自专栏xingoo, 一个梦想做发明家的程序员

基于ELK的数据分析实践——满满的干货送给你

很多人刚刚接触ELK都不知道如何使用它们来做分析,经常会碰到下面的问题: 安装完ELK不知从哪下手 拿到数据样本不知道怎么分解数据 导入到elastics...

4627
来自专栏余林丰

再说单例模式的线程安全问题

今天和同事聊起了单例模式的线程安全,我说如果不做任何措施,单例模式在多线程下是不安全的,得到的“单例”实际上并不是单例。但是为什么不是单例呢?由此我上网查了一下...

1986
来自专栏nnngu

Hibernate的关联映射

首先我们了解一个名词ORM,全称是(Object Relational Mapping),即对象关系映射。ORM的实现思想就是将关系型数据库中表的数据映射成对象...

2915

扫码关注云+社区

领取腾讯云代金券