首页 文章 精选 留言 我的

精选列表

搜索[工具库],共10000篇文章
优秀的个人博客,低调大师

【技术实验】Elasticsearch 做数据系列之一:表结构定义

Elaticsearch 有非常好的查询性能,以及强大的查询语法。在一定场合下可以替代RDBMS做为OLAP的用途。但是其官方查询语法并不是SQL,而是一种Elasticsearch独创的DSL。主要是两个方面的DSL: Query DSL(https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html) 相当于SQL里的 WHERE 部分,实现各种各样的过滤文档的方式。 Aggregation DSL (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html) 相当于SQL里的 GROUP BY 部分,实现文档按条件聚合

优秀的个人博客,低调大师

apiCloud中的数据操作mcm-js-sdk的使用

1.引入js <!-- 引入mcm-js-sdk Begin --> <script type="text/javascript" src="../plugin/mcm-js-sdk/APICloud-rest-SHA1.js"></script> <script type="text/javascript" src="../plugin/mcm-js-sdk/APICloud-rest.js"></script> <script type="text/javascript" src="../plugin/mcm-js-sdk/SHA1.js"></script> <!-- 引入mcm-js-sdk END --> 2.生成对象 var client = new Resource("xxx", "xxx"); var Model = client.Factory("user"); 3.获取数据get Model.get({"_id": '57eb89ad074073e11321e0d3'}, function (ret,err) { alert("Model get:"+JSON.stringify(ret)); }); 4.添加保存数据save Model.save({ "username": "xiaoming", "password": "123456", "email": "xiaoming@126.com" }, function(ret,err){ if(err){ alert(JSON.stringify(ret)); }else{ alert(JSON.stringify(ret)); } }) Model.save({"_id":"57ec73e87813d7a36cc9d9ec"},{"username":"Dongcheng"}, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) 5.删除对象delete Model.delete({"_id":"57ec73e87813d7a36cc9d9ec"},function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) 6.批量操作 var client = new Resource("xxx", "xxx"); client.batch([ { "method": "POST", "path": "/mcm/api/user", "body": { "username": "user1", "password": "123456" } }, { "method": "POST", "path": "/mcm/api/user", "body": { "username": "user2", "password": "123456" } } ], function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) 7.操作符 名称 说明 $inc 增加字段的值指定的数量 $mul 增加字段的值乘以指定的数量 $set 在文档中设置一个字段的值。 $min 仅更新字段如果指定的值小于现有的字段值。 $max 仅更新字段如果指定的值大于现有的字段值。 $push 增加一个项到数组的尾部 $pushAll增加多个项到数组的尾 $pull 删除一个项从数组当中 $pullAll删除多个项从数组中 inc Model.save({"_id":"57eb82c5abca25f4649f1d22"},{"$inc": { money: +10},"username":"jack"}, function(ret,err){ // 指定值增加10 if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) mul Model.save({"_id":"57eb82c5abca25f4649f1d22"},{"$mul": { money:1.25},"username":"jack"}, function(ret,err){ // 指定乘以1.25 if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) set 复制设置 Model.save({"_id":"57eb82c5abca25f4649f1d22"},{ "$set": { username: "xi", details: { model: "14Q3", make: "xyz" }, tags: [ "coats", "outerwear", "clothing" ] } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) min 操作符更新字段的值为一个指定的值,如果指定的值小于指定字段的当前值 Model.save({"_id":"57eb82c5abca25f4649f1d22"},{"$min": { "money": 10 }}, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) max操作符更新字段的值指定的值,如果指定的值大于字段的当前值 Model.save({"_id":"57eb82c5abca25f4649f1d22"},{"$max": { "money": 150 }}, function(ret,err){ // 指定的值为150 if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) push,pushAll,pull,pullAll略。 8.字段过滤 Model.query({ filter:{ fields:{"username": true, "email": true}//或者["username","email"] } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) 9.条数过滤(Limit filter) Model.query({ filter:{ limit:2, fields:{"username": true, "email": true}//或者["username","email"] } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) 10.排序(Order filter) Model.query({ filter:{ "order": "money DESC", limit:2, fields:{"username": true, "email": true ,"money":true}//或者["username","email"] } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) 11.跳过(Skip filter) Model.query({ filter:{ "skip":3, "order": "money ASC", limit:2, fields:{"username": true, "email": true ,"money":true}//或者["username","email"] } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) 12.条件过滤(Where filter) 操作符 说明 and 逻辑与 or 逻辑或 gt,gte 大于(>),大于或等于(> =)。只有效数值和日期值 lt,lte 小于(<),小于或等于(< =)。只有效数值和日期值 between 在…之间 inq,nin 在/不在一个数组之内 near 地理位置,返回最接近点,按距离的顺序排序 ne 不等于(!=) like,nlike like/not like 操作符返回符合正则表达式的数据 Model.query({ filter:{ "where":{"money":"150"} } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }); Model.query({ filter:{ "where":{ "money":{"gt":100} } } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }); Model.query({ filter:{ "where": { "and": [ {"username": "xi"}, {"money":{"gt":100}} ] } } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } }) 更多内容参考官网http://docs.apicloud.com/Cloud-API/data-cloud-api 本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5917512.html,如需转载请自行联系原作者

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册