- 浏览: 224455 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (163)
- c++ (30)
- JavaScript (30)
- java (61)
- jQuery (3)
- ACE (2)
- oracle (9)
- jni (0)
- android (2)
- shell (1)
- myeclipse (1)
- Hibernate (1)
- linux (2)
- sqlserver (2)
- windows (2)
- sql (2)
- php (2)
- css (1)
- 学习 (1)
- ExtJs (1)
- RSS (1)
- 报文 (1)
- 跟我学Spring3 (6)
- dos (1)
- server (1)
- nosql (4)
- mongodb (6)
- photoshop (1)
- WebService (2)
- 股票 (1)
- OpenGL (3)
- Spring3MVC (6)
- 生活 (1)
- struts2 (1)
- 云盘 (1)
- blog (1)
- nosql nodejs mongoose (1)
最新评论
-
sblig:
配置分片: mongo -port 27017config ...
搭建Mongodb集群:分片Sharding+副本集Replica Set -
sblig:
配置路由:mongs: 40000 40100 40200sc ...
搭建Mongodb集群:分片Sharding+副本集Replica Set -
fuanyu:
哥们,干得漂亮。。
struts2 高危漏洞修复 -
sblig:
配置列子如下
<?xml version="1 ...
跟我学Spring3 学习笔记一 -
sblig:
307622798 写道博主你好,最近在看你的js系列文章,发 ...
JavaScript 学习笔记 二 对象的访问
MongoDB 实战笔记
来建立一个 test 的集合并写入一些数据. 建立两个对象 j 和 t , 并保存到集合中去.
在例子里 “>” 来表示是 shell 输入提示符
> j = { name : "mongo" };
{"name" : "mongo"}
> t = { x : 3 };
{ "x" : 3 }
> db.things.save(j);
> db.things.save(t);
> db.things.find();
{ "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }
{ "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }
> for( var i = 1; i < 10; i++ ) db.things.save( { x:4, j:i } );
> db.things.find();
这里循环次数是 10, 但是只显示到第 8 条, 还有 2 条数据没有显示. 如果想继
续查询下面的数据只需要使用”it”命令,
MongoDB 中,每一个集合都必须有一个叫做_id 的字段,字段类型默认是 ObjectId ,换句话
说,字段类型可以不是 ObjectId
虽然_id 的类型可以自由指定,但是在同一个集合中必须唯一,如果插入重复的值的话,系统
将会抛出异
> var cursor = db.things.find();
> while (cursor.hasNext()) printjson(cursor.next());
显示了游标风格的迭代输出. hasNext() 函数告诉我们是否还有数据, 如果有则
可以调用 next() 函数.
db.things.find().forEach(printjson);
在 MongoDB shell 里, 我们也可以把游标当作数组来用:
> var cursor = db.things.find();
> printjson(cursor[4]);
把游标转换成真实的数组类型:
> var arr = db.things.find().toArray();
> arr[5];
{ "_id" : ObjectId("4c220a42f3924d31102bd859"), "x" : 4, "j" : 4 }
findOne() 函数. 这个函
数和 find() 函数一样, 不过它返回的是游标里第一条数据, 或者返回 null,即空数据.
> printjson(db.things.findOne({name:"mongo"}));
更新
db.things.update({name:"mongo"},{$set:{name:"mongo_new"}});
db.things.remove({name:"mongo_new"});
删除多条
for(var i=0;i<1000;i++) db.things.remove({j:i});
查询100条出来
db.things.find().limit(100);
<, <=, >, >= 这个操作符就不用多解释了,最常用也是最简单的
db.collection.find({ "field" : { $gt: value } } ); // 大于: field > value
db.collection.find({ "field" : { $lt: value } } ); // 小于: field < value
db.collection.find({ "field" : { $gte: value } } ); // 大于等于: field >= value
db.collection.find({ "field" : { $lte: value } } ); // 小于等于: field <= value
如果要同时满足多个条件,可以这样做
db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); // value1 < field < value
db.things.find({"xy":{$gt:"my0",$lt:"my7"}}); < <
db.things.find({"xy":{$gte:"my0",$lte:"my7"}}); <= <=
db.c4.find("this.x>300000 && this.x<300002")
这个操作符跟 SQL 语法的 in 类似,但不同的是, in 只需满足( )内的某一个值即可, 而$all 必
须满足[ ]内的所有值,例如:
db.users.find({age : {$all : [6, 8]}});
查询所有存在 age 字段的记录
db.users.find({age: {$exists: true}});
查询所有不存在 name 字段的记录
db.users.find({name: {$exists: false}});
查询 age 取模 6 等于 1 的数据
> db.c1.find({age: {$mod : [ 6 , 1 ] } })
{ "_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 }
查询 age 的值不等于 7 的数据
> db.c1.find( { age : { $ne : 7 } } );
{ "_id" : ObjectId("4fb4af89afa87dc1bed94331"), "age" : 8, "length_1" : 30 }
查询 age 的值在 7,8 范围内的数据
> db.c1.find({age:{$in: [7,8]}});
{ "_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 }
{ "_id" : ObjectId("4fb4af89afa87dc1bed94331"), "age" : 8, "length_1" : 30 }
查询 age 的值在 7,8 范围外的数据
> db.c1.find({age:{$nin: [7,8]}});
{ "_id" : ObjectId("4fb4af8cafa87dc1bed94332"), "age" : 6, "length_1" : 30 }
对于{name: 'David', age: 26, favorite_number: [ 6, 7, 9 ] }记录
匹配 db.users.find({favorite_number: {$size: 3}});
不匹配 db.users.find({favorite_number: {$size: 2}});
查询不匹配 name=B*带头的记录
db.users.find({name: {$not: /^B.*/}});
查询 c1 表的数据量
> db.c1.count()
查询 a 大于 3 的数据,下面的查询方法殊途同归
db.c1.find( { a : { $gt: 3 } } );
发表评论
-
[Java性能剖析]远程调试配置
2014-07-10 10:48 808一、服务器操作如下: 找到文件:apache-tomcat-5 ... -
[jdk工具命令]Java SE 文档
2014-07-10 10:43 777oracle java se documentation j ... -
[jdk命令工具]jconsole远程项目监控
2014-07-10 10:37 788入口:catalina.sh JAVA_OPTS=&quo ... -
[jvm参数]JVM简单配置
2014-07-10 10:35 1224-Xms256m -Xmx512M -XX:MaxPermSi ... -
搭建Mongodb集群:分片Sharding+副本集Replica Set 二
2014-05-26 15:10 1072文件配置: 1. mongodb0.cfg port=270 ... -
搭建Mongodb集群:分片Sharding+副本集Replica Set
2014-05-26 15:00 2340架构图如下: 客户请求: client 路由:Mon ... -
struts2 高危漏洞修复
2013-07-23 10:30 11881. /** * 过滤器 */ ... -
转:调查服务器响应时间的利器 tcprstat
2012-11-16 13:50 1485http://rdc.taobao.com/blog/cs/? ... -
跟我学Spring3 学习笔记七 初始化与销毁
2012-10-18 16:45 2094最后 遗留一个问题, ... -
跟我学Spring3 学习笔记六 注入
2012-10-18 14:31 2232跟我学Spring3 学习笔 ... -
动态生成class
2012-10-16 11:17 1368ASM 进行动态生成class import org.obj ... -
FtpUtil ftp工具类 过滤文件名
2012-10-10 16:25 6944工具类: import java.io.Buff ... -
java 高性能网络编程 NIO
2012-09-28 16:31 1516服务器端: // 1. 分配一个 Serve ... -
java 高性能网络编程 mina
2012-09-28 10:52 1691服务器端: // 创建一个非阻塞的server端so ... -
代理 下载网页,挖掘数据
2012-09-25 13:51 897URL url = new URL("http:// ... -
java nio 编程学习 一
2012-09-21 16:08 1178Java.nio中的主要类ServerSocketChanne ... -
MongoDB 实战笔记 四
2012-09-20 14:12 1142import java.net.UnknownHostExce ... -
Json 添加元素拼接JSON字符串(转)
2012-09-20 13:55 7054package com.util; import jav ... -
MongoDB 实战笔记 三
2012-09-20 13:37 2479导出mongoexport -d m ... -
MongoDB 实战笔记 二
2012-09-20 11:45 937MongoDB 实战笔记 count 查询记录 ...
相关推荐
### MongoDB 3.2 实战笔记 #### 一、前言 MongoDB 是一款非常流行的开源文档型数据库系统,以其高性能、高可用性以及灵活的数据模型而受到广泛欢迎。本篇实战笔记主要针对 MongoDB 3.2 版本,涵盖其安装、配置、...
本实战笔记旨在通过一个具体的案例,来探讨如何利用 MongoDB 的 `group` 和 `aggregate` 功能,对特定的数据集进行有效的分析和统计。 #### 二、MongoDB Group Aggregate 基础介绍 MongoDB 中的 `aggregate` 方法是...
深入浅出MongoDB应用实战开发视频教学,里面包含笔记和资料
MongoDB实战第二版笔记(9)第八章笔记 1、正确设置索引,MongoDB可以高效使用其硬件,并且快速服务查询。而错误索引导致查询减速、写减速、恶化硬件设备使用。【高效使用MongoDB为何要理解索引?】 2、索引...
MongoDB练习文件
MongoDB 是一种流行的开源NoSQL数据库,以C++语言开发,尤其适合处理大规模数据和高并发场景。在传统的关系型数据库如Oracle、DB2、SQL Server、MySQL等面临并发负载高、海量数据处理、复杂的事务管理和多表关联查询...
再者,"MongoDB实战"文档将理论与实践相结合,通过实际案例展示如何在项目中有效应用MongoDB。这部分可能会涉及到应用程序的集成、性能调优、数据迁移以及故障排查等实际操作。实战经验对于提升MongoDB技能至关重要...
1、MongoDB三种不同类型的集群: 单节点:不需要可靠性和数据集比较小的选择 可复制集:最低是3个节点(2个数据存储和1个裁判节点) 分片集群。最小配置有2个片,只有一个片会增加额外压力而且无法利用分片优势,每...
在本文中,我们将深入探讨如何使用Gin框架、WebSocket技术和MongoDB数据库来构建一个实时的IM(即时消息)聊天系统。这个系统的核心是利用WebSocket提供持久化的双向通信,以实现实时的消息传递。Gin是一个高效的Go...
《网上商城实战笔记》是一份全面且深入的电商系统开发指南,其中包含了源代码,让读者能够通过实际操作来理解并掌握网上商城的构建过程。这份资料的核心目标是帮助开发者和爱好者了解并实现一个完整的电子商务平台,...
《机器学习与数据库实战笔记》 在信息技术领域,数据库与机器学习是两个至关重要的组成部分,它们在现代数据驱动的应用程序中发挥着核心作用。数据库负责高效、安全地存储和管理大量数据,而机器学习则利用这些数据...
《李兴华Java实战经典笔记》是一份深入探讨Java编程技术的宝贵资料,由知名IT教育专家李兴华编撰。这份笔记集合了他在教学和实践中积累的丰富经验,旨在帮助学习者掌握Java的核心概念、设计模式以及实战技巧。通过这...
读书笔记:《左手MongoDB右手Redis——从入门到商业实战》书籍配套源代码。
2. MongoDB实战:可能讲解了更复杂的查询操作、聚合框架、数据备份与恢复、Sharding和Replica Sets等高级特性。 3. AngularJS应用开发:可能涉及到模块化、服务、过滤器、指令的创建与使用,以及如何实现路由和状态...
1. 数据库基础:首先,了解数据库的基本概念是必要的,如关系型数据库(如MySQL、PostgreSQL)、非关系型数据库(如MongoDB、Cassandra)以及SQL语言。SQL(Structured Query Language)是用于管理关系数据库的标准...
最后,`MongoDB.docx`可能是一个Word文档,详细介绍了MongoDB的各个方面,可能包含更多的理论背景、实战案例和最佳实践: 1. **架构设计**:解释MongoDB的分布式架构,包括主从复制和分片集群。 2. **性能调优**:...
python笔记包括基础和实战+源码,物超所值。 目录: 01-Linux基础 02-Python基础第一部分 03-Python基础第二部分 04-Python基础第三部分 05-面向对象 06-MySQL 07-网络编程 08-多线程 09-MongoDB数据库 10-正则...
本课程主要围绕“Node.js+Express+Mongoose”这一技术栈,通过构建一个完整的车展项目,带领学习者从基础入门到实战演练,深入理解和掌握Web开发中的关键技能。以下是相关知识点的详细介绍: **Node.js**: Node.js...
在"mongodb-university-master"这个压缩包文件中,可能包含的是MongoDB University课程的源代码、笔记、练习和解决方案。学员可以通过研究这些材料来加深对MongoDB聚合操作的理解,同时提升自己的Java编程技能,以便...
本资料集是软件设计师考试的宝贵资源,不仅提供了全面的知识点覆盖,还有针对性的复习方法和实战经验,适合备考者在冲刺阶段进行系统学习和复习。希望每一位考生都能从中受益,顺利通过考试,成为一名优秀的软件设计...