[MongoDB] Query, update, index and group

复制代码
/*
    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()
复制代码

 

posted @   Zhentiw  阅读(582)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示