相关文章推荐
有情有义的帽子  ·  js ...·  1 年前    · 
闷骚的西红柿  ·  Control Hub 中 Webex ...·  1 年前    · 
报表生成中使用了mongodb的$cond 及其if else语句;mongodb不支持case when语句;
可参考mongodb样例链接:https://docs.mongodb.com/manual/reference/operator/aggregation/cond/#example
功能:对影片观看时间统计用户数(1、十分钟以内观看记录用户;2、10-30分钟;3、30-80分钟;4、80分钟以上);
temp_result = self.db[Constants.action_table].aggregate(
           "$match":{'actionInfo.status':7}
        {"$group": {"_id": {
            "mac": '$mac',
            "sn": '$sn',
            "day_time": {"$substrBytes": ["$time", 0, 10]}
            "duration": {'$sum': "$actionInfo.consumeTime"}
        { "$project":
                    "_id": 0,
                    "day_time": "$_id.day_time",
                     "mac":"$_id.mac",
                     "sn": "$_id.sn",
                     "duration":"$duration",
                    "discount": {
                          "$cond": {
                              "if": { "$lt": ['$duration', 600000]},"then": "10分钟内",
                              "else": {
                                      "$cond": {
                                         "if": {  "$and": [{ "$gte": ["$duration",600000 ]}, { "$lt": ["$duration", 18000000]}]},"then": "10-30分钟",
                                         "else": {
                                            "$cond": {
                                                "if": {  "$and": [{ "$gte": ["$duration", 18000000]}, { "$lte": ["$duration", 48000000]}]},"then" : "30-80分钟",
                                                "else": "80分钟以上"
        {"$out": "TotalUserAverageDailyLengthRound_temp"}]);
self.db["TotalUserAverageDailyLengthRound_temp"].aggregate([
     {"$group": {"_id": {
                                                "day_time": '$day_time',
                                                "discount": '$discount',
                                            }, "countUser": {'$sum': 1}}},
     {"$project":
                                                        "_id": 0,
                                                        "day_time": "$_id.day_time",
                                                        "discount": "$_id.discount",
                                                        "countUser": "$countUser"}},
     {"$out": self.currentTable()}]);
return temp_result;
报表生成中使用了mongodb的$cond 及其if else语句;mongodb不支持case when语句;可参考mongodb样例链接:https://docs.mongodb.com/manual/reference/operator/aggregation/cond/#example功能:对影片观看时间统计用户数(1、十分钟以内观看记录用户;2、10-30分钟;3、30-80分钟;... // 条件 $match : {bookDate:{$gte:new Date("2021-06-11 16:00:00"),$lt:new Date("2021-06-14 16:00:00")}} {$group:{ _id: 0, // 总数 '总预约数'... ConditionalOperators.Cond collectionCount = ConditionalOperators.when(Criteria.where("sourceOfCertificate").is("1")) .then(1).otherwise(""); ConditionalOperators.Cond fillCount =... db.adminUser.insertOne({ "openId": "admin_b075df20d85711e98ba819498dwf0854", "jurisdiction": "SSS", "email": "15908619975@163.com", "password": "eyJhbGciOiJIUzI1NiJ9.Y2hlbmJpZGExMjM.MMYE...
$ifNull用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。 $ifNull表达式格式为: { $ifNull: [ <expression>, <replacement-expression-if-null> ] } 原始数据: { "_id" : 1, "item" : "abc1", ...
如果你想做的就不仅仅是将数据从数据里面取出来,那么就需要使用聚合查询 一般聚合操作 由一连串的构件组成 主要有筛选($ match),投射($ project),分组($ group),排序($ sort),限制($ limit ),跳过($ skip) 1. $ match 用于对文档数据进行筛选 db.temperature.aggregate([{$match:{}}]) //效果相当于 db.temperature.find({}) 至于查询条件我就不介绍
文章目录前言一、字段切割&条件判断1.$substr:['字段名',开始下标,结束下标]2.$cond:{if...then...else}二、联表查询&类型转换&拆分数组1.$lookup2.$toDouble、\$convert3.$unwind总结 本文章主要是记录个人在学习或者工作中使用MongoDB开发时遇到的一些奇葩经历;由于MongoDB存储数据比较自由,导致在查询或者统计数据的时候,需要把数据类型进行转换或者空数据处理等等…如果家人们看完这篇文章发现有问题或者
MongoDB Community Server(mongodb-windows-x86_64-5.0.8-signed.msi)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
赠送jar包:mongodb-driver-sync-4.2.3.jar; 赠送原API文档:mongodb-driver-sync-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-sync-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-sync-4.2.3.pom; 包含翻译后的API文档:mongodb-driver-sync-4.2.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.mongodb:mongodb-driver-sync:4.2.3; 标签:mongodb、driver、sync、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用
MongoDB Community Server(mongodb-org-shell-5.0.4-1.el7.x86_64.rpm)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB是一种高性能、可伸缩的非关系型数据库,在各个行业中都有广泛的应用,而麒麟Kylin v10则是一种高效稳定的操作系统。为了能在这个操作系统上运行MongoDB,需要进行移植。本文将介绍MongoDB-4.0.1在麒麟Kylin v10上的移植指南。 1.环境准备 在进行移植之前,需要确认环境是否准备好。确保Kylin v10的操作系统版本为最新版本,拥有足够的空间以及安装了gcc,g++, make, automake和libtool等编译工具和库文件。同时,还需要安装scons作为MongoDB的编译工具。 2.源代码下载 从MongoDB的官方网站上下载最新版本的源代码并解压缩到指定目录下。 3.修改并编译 在解压缩后的MongoDB源码目录下,执行以下命令: $ git checkout r4.0.1 $ scons --disable-warnings-as-errors -j<core number> 这将会自动对源代码进行编译,并在bin目录下生成mongod、mongo等可执行程序。 4.修改配置文件 在Kylin v10的操作系统环境下,可能需要对MongoDB的配置文件进行一定的修改,以保证MongoDB服务器的正常运行。例如,需要修改MongoDB使用的数据存储位置和可用端口号等。 5.启动MongoDB服务器 执行以下命令来启动MongoDB服务器: $ mongod --fork --dbpath=<path to data files> --port=<port number> 其中,--fork参数表示在后台启动MongoDB服务器,--dbpath参数用于指定MongoDB的数据存储路径,--port参数指定MongoDB服务器监听的端口号。 6.连接管理 使用mongo命令连接MongoDB服务器,并进行相关管理操作。在连接后,可以进行数据添加、查询、删除等操作。 以上就是MongoDB-4.0.1在麒麟Kylin v10上的移植指南。在上述步骤完成后,就可以在Kylin v10操作系统上运行MongoDB,并进行相应的数据管理操作。