`

MongoDB 实战笔记 二

阅读更多

 

MongoDB  实战笔记

 

count 查询记录条数

db.users.find().count(); 

 

以下返回的不是 5,而是 user 表中所有的记录数量

db.users.find().skip(10).limit(5).count(); 

 

如果要返回限制之后的记录数量,要使用 count(true)或者 count(非 0) 

db.users.find().skip(10).limit(5).count(true);

 

 

从第 3 条记录开始,返回 5 条记录(limit 3, 5) 

db.users.find().skip(3).limit(5);

 

以年龄升序 asc 

db.users.find().sort({age: 1}); 

以年龄降序 desc 

db.users.find().sort({age: -1});

 

MongoDB 也是用游标来循环处理每一条结果数据,具体语法如

下:

> for( var c = db.t3.find(); c.hasNext(); ) { 

...    printjson( c.next()); 

... }

MongoDB 还有另一种方式来处理游标

> db.t3.find().forEach( function(u) { printjson(u); } );

 

MongoDB 同样支持存储过程。关于存储过程你需要知道的第一件事就是它是用 javascript 来

写的。也许这会让你很奇怪,为什么它用 javascript 来写,但实际上它会让你非常满意,

MongoDB 存储过程是存储在 db.system.js 表中的,我们想象一个简单的 sql 自定义函数如下:

function addNumbers( x , y ) { 

    return x + y; 

}

下面我们将这个 sql 自定义函数转换为 MongoDB 的存储过程: 

> db.system.js.save({_id:"addNumbers", value:function(x, y){ return x + y; }});

调用一下这个存储过程: 

> db.eval('addNumbers(3, 4.2)'); 

7.2

 

db.eval()是一个比较奇怪的东西,我们可以将存储过程的逻辑直接在里面并同时调用,而无

需事先声明存储过程的逻辑。

> db.eval( function() { return 3+3; } ); 

6

 

1、logging 

MongoDB 中日志机制的首选,MongoDB 没有使用日志文件,而是把日志事件存储在数

据库中。在一个没有索引的 capped collection 中插入对象的速度与在文件系统中记录日

志的速度相当。

2、cache 

缓存一些对象在数据库中,比如计算出来的统计信息。这样的需要在 collection 上建立

一个索引,因为使用缓存往往是读比写多。

3、auto archiving 

可以利用 capped collection 的 age-out 特性,省去了写 cron 脚本进行人工归档的工作

 

1、 为了发挥 capped collection 的最大性能,如果写比读多,最好不要在上面建索引,否则

插入速度从"log speed"降为"database speed"。

2、使用"nature ordering"可以有效地检索最近插入的元素,因为 capped collection 能够保证

自然排序就是插入时的顺序,类似于 log 文件上的 tail 操作。

 

删除MongoDB Windows服务

>mongod.exe --remove

(http://blog.csdn.net/xiaochunyong/article/details/7730841)

 

mongofiles put testfile

mongofiles list

 

db.fs.files.find()

{ "_id" : ObjectId("4fc60175c714c5d960fff76a"), "filename" : "testfile", "chunkSize" : 262144, 

"uploadDate" : ISODate("2012-05-30T11:16:05.745Z"), "md5" : 

"8addbeb77789ae6b2cb75deee30faf1a", "length" : 16 }

 

分享到:
评论

相关推荐

    MongoDB3.2实战笔记

    ### MongoDB 3.2 实战笔记 #### 一、前言 MongoDB 是一款非常流行的开源文档型数据库系统,以其高性能、高可用性以及灵活的数据模型而受到广泛欢迎。本篇实战笔记主要针对 MongoDB 3.2 版本,涵盖其安装、配置、...

    MongoDB实战第二版笔记(9)第八章笔记

    MongoDB实战第二版笔记(9)第八章笔记   1、正确设置索引,MongoDB可以高效使用其硬件,并且快速服务查询。而错误索引导致查询减速、写减速、恶化硬件设备使用。【高效使用MongoDB为何要理解索引?】   2、索引...

    深入浅出MongoDB应用实战开发视频教学

    深入浅出MongoDB应用实战开发视频教学,里面包含笔记和资料

    mongodb group aggregate项目实战笔记

    本实战笔记旨在通过一个具体的案例,来探讨如何利用 MongoDB 的 `group` 和 `aggregate` 功能,对特定的数据集进行有效的分析和统计。 #### 二、MongoDB Group Aggregate 基础介绍 MongoDB 中的 `aggregate` 方法是...

    MongoDB基础教程笔记 emp.json

    MongoDB练习文件

    深入云计算(MongoDB管理与开发实战详解--学习笔记

    MongoDB 是一种流行的开源NoSQL数据库,以C++语言开发,尤其适合处理大规模数据和高并发场景。在传统的关系型数据库如Oracle、DB2、SQL Server、MySQL等面临并发负载高、海量数据处理、复杂的事务管理和多表关联查询...

    MongoDB实战第二版笔记(14)第十三章笔记(系列终)

      2、mongoDB服务器的组件必须运行在采取小端存储的机器上。   3、磁盘性能重要的原因 高写入工作负载。当数据写入MongoDB时,服务器必须把数据写入磁盘,对于高并发写入的APP和慢速磁盘,写入操作会影响整个...

    免费的mongoDB

    再者,"MongoDB实战"文档将理论与实践相结合,通过实际案例展示如何在项目中有效应用MongoDB。这部分可能会涉及到应用程序的集成、性能调优、数据迁移以及故障排查等实际操作。实战经验对于提升MongoDB技能至关重要...

    gin+websocket+mongodb实现 IM 即时聊天系统,基于WS连接的即时聊天

    2. 使用异步操作提高服务器处理速度,特别是在处理MongoDB读写时。 3. 实现消息的批量发送和接收,减少网络传输次数。 4. 对敏感操作(如用户登录、消息发送)进行安全验证,防止恶意攻击。 最后,测试和部署是必不...

    Machine-数据库实战笔记

    《机器学习与数据库实战笔记》 在信息技术领域,数据库与机器学习是两个至关重要的组成部分,它们在现代数据驱动的应用程序中发挥着核心作用。数据库负责高效、安全地存储和管理大量数据,而机器学习则利用这些数据...

    网上商城实战笔记包含源码

    《网上商城实战笔记》是一份全面且深入的电商系统开发指南,其中包含了源代码,让读者能够通过实际操作来理解并掌握网上商城的构建过程。这份资料的核心目标是帮助开发者和爱好者了解并实现一个完整的电子商务平台,...

    读书笔记:《左手MongoDB右手Redis——从入门到商业实战》书籍配套源代码。.zip

    读书笔记:《左手MongoDB右手Redis——从入门到商业实战》书籍配套源代码。

    李兴华java笔记

    《李兴华Java实战经典笔记》是一份深入探讨Java编程技术的宝贵资料,由知名IT教育专家李兴华编撰。这份笔记集合了他在教学和实践中积累的丰富经验,旨在帮助学习者掌握Java的核心概念、设计模式以及实战技巧。通过这...

    Node.js MongoDB AngularJSWeb开发.part3

    2. MongoDB实战:可能讲解了更复杂的查询操作、聚合框架、数据备份与恢复、Sharding和Replica Sets等高级特性。 3. AngularJS应用开发:可能涉及到模块化、服务、过滤器、指令的创建与使用,以及如何实现路由和状态...

    数据库实战isualization-笔记

    2. 数据可视化工具:数据库实战可视化会介绍多种流行的数据可视化工具,例如Tableau、Power BI、QlikView、D3.js等。这些工具提供图形化界面,帮助用户创建交互式图表和仪表板,便于数据探索。D3.js是一种JavaScript...

    MongoDB入门的一些资料

    最后,`MongoDB.docx`可能是一个Word文档,详细介绍了MongoDB的各个方面,可能包含更多的理论背景、实战案例和最佳实践: 1. **架构设计**:解释MongoDB的分布式架构,包括主从复制和分片集群。 2. **性能调优**:...

    python源码笔记实战 物超所值

    python笔记包括基础和实战+源码,物超所值。 目录: 01-Linux基础 02-Python基础第一部分 03-Python基础第二部分 04-Python基础第三部分 05-面向对象 06-MySQL 07-网络编程 08-多线程 09-MongoDB数据库 10-正则...

    mongodb-university:聚合 MongoDb 大学课程和练习

    在"mongodb-university-master"这个压缩包文件中,可能包含的是MongoDB University课程的源代码、笔记、练习和解决方案。学员可以通过研究这些材料来加深对MongoDB聚合操作的理解,同时提升自己的Java编程技能,以便...

    Node+Express+Mongoose车展项目入门到实战课件、笔记、资料、代码及数据库.zip

    本课程主要围绕“Node.js+Express+Mongoose”这一技术栈,通过构建一个完整的车展项目,带领学习者从基础入门到实战演练,深入理解和掌握Web开发中的关键技能。以下是相关知识点的详细介绍: **Node.js**: Node.js...

    MongoDB-Coursera:该存储库包含课程中提供的测验解决方案和参考笔记本

    2. 集合与数据库:在MongoDB中,数据存储在集合中,集合是文档的集合,类似于关系数据库的表。数据库则是一组集合的集合,是MongoDB中最高级别的逻辑存储单元。 3. CRUD操作:创建(Create)、读取(Read)、更新...

Global site tag (gtag.js) - Google Analytics