mongodb更新操作符$min,$max

mycode

db.person.deleteOne({name:'lnj'})
db.person.insertOne({name:'zs',age:18})

//$min是用min指定的值和原来的值比较,看谁小,留下下的数值

db.person.updateOne({'name':'zs'},{$min:{age:5}})

//$max是用max指定的值和原来的值比较,看谁大,留下大的数值

db.person.updateOne({'name':'zs'},{$max:{age:33}})

//注意:如果操作的字段不存在,那么会自动增加并将操作的值赋值给新增的字段

db.person.updateOne({'name':'zs'},{$max:{score:33}})
db.person.updateOne({'name':'zs'},{$min:{height:177}})

//注意:和 i n c , inc, inc,mul不同, m i n 和 min和 minmax不仅仅能操作数值类型的字段,只要是可以比较的字段,都可以进行操作
//下面的按照字母前后顺序比较了

db.person.insertOne({name:'def',age:666})
db.person.updateOne({name:'def'},{$min:{name:'efg'}})
db.person.updateOne({name:'def'},{$min:{name:'cde'}})

//注意:不是相同的数据类型也可以进行比较:

db.person.updateOne({name:'zs'},{$min:{name:''}})

db.person.find()

teacher's code:

1. m i n 和 min和 minmax更新操作符

KaTeX parse error: Expected '}', got 'EOF' at end of input: …比较保留更小字段值 格式: {min:{: }}
KaTeX parse error: Expected '}', got 'EOF' at end of input: …比较保留更大字段值 格式: {max:{: }}

2.示例
db.person.insert({name:'lnj', age:33})
db.person.update({name:'lnj'}, {$min:{age:50}})
db.person.update({name:'lnj'}, {$min:{age:18}})

db.person.update({name:'lnj'}, {$max:{age:5}})
db.person.update({name:'lnj'}, {$max:{age:55}})
3.注意点:

// 注意点: 如果操作的字段不存在, 那么会自动增加, 并且会将操作的值赋值给新增的字段

db.person.update({name:'lnj'}, {$min:{weight:120}})
db.person.update({name:'lnj'}, {$max:{height:175}})

// 注意点: 和 i n c / inc/ inc/mul不同, m i n / min/ min/max不仅仅能操作数值类型的字段, 只要是可以比较的字段都可以操作
db.person.insert({name:‘def’, age:666})
db.person.update({name:‘def’}, {KaTeX parse error: Expected 'EOF', got '}' at position 17: …in:{name:'efg'}}̲) db.person.upd…min:{name:‘cde’}})
// 注意点: 不是相同的数据类型也可以进行比较
db.person.update({name:‘lnj’}, {$min:{age:null}})

MongoDB对BSON的数据类型有一个潜在的排序规则(一下排名分先后,由小到大)

Null
Numbers(ints, longs, doubles, decimals)
Symbol, String
Object
Array
BinData
ObjectId
Boolean
Date
Timestamp
Regular Expression

http://www.icestone.work/markdown?145

MongoDB提供了三种方式来执行聚合操作:聚合管道方法、map-reduce方法和单一目标聚合方法。聚合管道方法可以理解为合计流水线法,通过对集合中的文档记录进行分类统计。该方法支持分片集合操作。使用聚合管道方法可以通过传递一系列的操作符来实现各种统计操作,比如求和($sum)、求平均值($avg)、取最小值($min)、取最大值($max)等等。聚合管道方法的语法如下: ``` db.collection_name.aggregate( [ {$match:{<field>}}, // 统计查找条件 {$group:{<field1>, <field2>}} // field1为分类字段;field2为含各种统计操作符的数值型字段,如$sum、$avg、$min、$max、$push、$addToSet、$first、$last操作符 ) ``` 聚合分类统计是聚合操作的一种,目前在MongoDB中有两种聚合操作功能:count()和distinct()。count()用于计算满足指定条件的文档数量,distinct()用于返回指定字段的唯一值列表。使用这两个方法可以对集合中的数据进行简单的聚合统计。 我希望这些信息对您有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MongoDB——聚合操作详解](https://blog.csdn.net/cold___play/article/details/121447382)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无名之辈无名之辈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值