/*
1. Query Operators
*/
db.posts.find({
viewsCount: {$get: 1000, $lte: 3000}
}, {_id: 0, viewsCount: 1, title: 1}) // $in
db.posts.find({
categories: {$in: ['ios']}
}, {categories: 1}) //$where
db.posts.find({
$where: function(){
return this.categories.length>15
}
}, {categories: 1, title: 1}) //see how many categories from previous query:
db.posts.find({
$where: function(){
return this.categories.length>15
}
}, {categories: 1, title: 1})[0].categories.length

Update:

/*
2. Update
*/
var d = db.posts.findOne();
//change the author email:
d.author.email = "new@new.com"
//update the database
db.post.update({_id: d._id}, d); //update mutli-document
db.posts.update({viewsCount: {$gt: 3000}}, {$set: {newKey: true}}, {multi:true}) //add new key, set mutli

Performance and indexes:

/*
3. Performance and indexes
*/
//create the data
db.numbers.drop();
var num = 5000000,
i = 0;
for(i = 0; i < num; i ++){
var randomNumber = Math.floor(Math.random()*10000);
db.numbers.insert({number:randomNumber});
//print(i);
} db.number.find({number: {$gt: 1000, $lt: 3000}, {_id: 0, number: 1}}).explain(); //it scan all the doucment, took 3500ms //add index:
db.numbers.ensureIndex({number: 1});
//took 1046 ms, scan 1m instead of 5m

Group:

/*
4. $group
*/ //sum up the viewCount, rename the result as 'totalViewsCount'
db.posts.aggregate({
$group: {
_id:null,
totalViewsCount: {$sum: '$viewsCount'}
}
}) //adding 1 for each document
db.posts.aggregate({
$group: {
_id:null,
totalNumberOfDocuments: {$sum: 1}
}
}) // =
db.posts.count()

[MongoDB] Query, update, index and group的更多相关文章

  1. java.lang.IllegalArgumentException: Illegal character in query at index 261

    在BaseFragment中使用了LoadingPage,而LoadingPage的联网加载使用的是AsyncHttpClient.一直报java.lang.IllegalArgumentExcept ...

  2. [转]使用Maven添加依赖项时(Add Dependency)时,没有提示项目可用,并且在Console中,输出: Unable to update index for central|http://repo1.maven.org/maven2 。

    使用Maven添加依赖项时(Add Dependency)时,没有提示项目可用,并且在Console中,输出: Unable to update index for central|http://re ...

  3. MongoDB的update有关问题(JAVA)——如何一次更新所有的相同记录

    MongoDB的update问题(JAVA)——怎么一次更新所有的相同记录用如下这个函数:public WriteResult update(DBObject q,  DBObject o,  boo ...

  4. Unable to update index for central

    Unable to update index for central http://repo1.maven.org/maven2/ 就是这句,myeclipse启动后控制台输出这句话:解决办法:1.在 ...

  5. 爬取数据时解析url时一直报错Caused by: java.net.URISyntaxException: Illegal character in query at index 823替换了所有空格和特殊字符还是无效

    近日在用HttpClient访问抓取汇率时,为了省力,直接采用 String url = "http://api.liqwei.com/currency/?exchange=usd|cny& ...

  6. 解决eclipse安装maven的问题:Unable to update index for central|http://repo1.maven.org/maven2

    问题产生如下:因为单位使用了过滤,访问Internet时,超过10M的内容就拒绝.因为maven插件在初始时,需要下载Maven的index文件,这个文件比较大,有38M多,下载不成功.所以造成使用M ...

  7. Unable to update index for central http://repo1.maven.org/maven2/ 解决方法

    不知道什么原因 MyEclipse(eclipse) 中的 maven 插件突然不能用了,修改 pom.xml 无任何反应 控制台报 Unable to update index for centra ...

  8. java.lang.IllegalArgumentException: Illegal character in query at index ...解决办法

    今天在写智能机器人问答实现的时候遇到了一个问题,就是我发送消息不能输入空格 给我报了一个错误java.lang.IllegalArgumentException: Illegal character ...

  9. 解决MyEclipse开启后总是不停的在Update index

    近期MyEclipse开启之后总是不停的在 update index,非常是耗时间. 查找资料发现Update index...是Maven在不断更新, 解决的方法例如以下: Window --> ...

随机推荐

  1. Firefox 对条件判断语句块内的函数声明的处理与其他浏览器有差异

    标准参考 函数声明和函数表达式 定义一个函数有两种途径:函数声明和函数表达式. 函数声明: function Identifier ( FormalParameterList opt ) { Func ...

  2. ionic 相关

     基本操作 $cordova platform update android@5.0.0 $ npm install -g cordova ionic $ ionic start myApp tabs ...

  3. Classic Source Code Collected

    收藏一些经典的源码,持续更新!!! 1.深度学习框架(Deep Learning Framework). A:Caffe (Convolutional Architecture for Fast Fe ...

  4. 通过扩展让ASP.NET Web API支持JSONP -摘自网络

    同源策略(Same Origin Policy)的存在导致了“源”自A的脚本只能操作“同源”页面的DOM,“跨源”操作来源于B的页面将会被拒绝.同源策略以及跨域资源共享在大部分情况下针对的是Ajax请 ...

  5. IDE Plug

    IDE Plug 使用 cnpack提供的IDE External Wizard Management 管理插件.添加插件.删除插件 Cnpack D:\Program Files (x86)\CnP ...

  6. matlab 画平面

    y = :; z = ones(); surf(x,y,z):

  7. cocos2d-x 3.2 椭圆运动

    直接上代码: // // OvalAction.h // LSWGameIOS // // Created by lsw on 14-10-27. // // #ifndef __LSWGameIOS ...

  8. C++11用于元编程的类别属性

    [C++11用于元编程的类别属性] 许多算法能作用在不同的数据类别; C++ 模板支持泛型,这使得代码能更紧凑和有用.然而,算法经常会需要目前作用的数据类别的信息.这种信息可以通过类别属性 (type ...

  9. POJ 1066 Treasure Hunt(线段相交判断)

    Treasure Hunt Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4797   Accepted: 1998 Des ...

  10. poj 3060 Visible Lattice Points

    http://poj.org/problem?id=3090 Visible Lattice Points Time Limit: 1000MS   Memory Limit: 65536K Tota ...