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
apiCloud中的数据库操作mcm-js-sdk的使用的更多相关文章
- Atitti.数据操作crud js sdk dataServiceV3设计说明
Atitti.数据操作crud js sdk dataServiceV3设计说明 1. 增加数据1 1.1. 参数哦说明1 2. 查询数据1 2.1. 参数说明2 3. 更新数据2 3.1. 参数说明 ...
- android中的数据库操作(转)
android中的数据库操作 android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库 an ...
- android中的数据库操作(SQLite)
android中的数据库操作 android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库 an ...
- CI中的数据库操作以及AR连贯操作
要使用CI中的数据库操作,首先我们应该在CI的 application/config/databass.php 文件中配置数据库信息,通常就是配置主机名,用户名,密码,数据库名,表前缀(dbprefi ...
- Android中SQLite数据库操作(1)——使用SQL语句操作SQLite数据库
下面是最原始的方法,用SQL语句操作数据库.后面的"Android中SQLite数据库操作(2)--SQLiteOpenHelper类"将介绍一种常用的android封装操作SQL ...
- phpcms v9 中的数据库操作函数
1.查询 $this->select($where = '', $data = '*', $limit = '', $order = '', $group = '', $key='') 返回 ...
- 我的Android六章:Android中SQLite数据库操作
今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...
- android中的数据库操作
如何在android中调用数据库资源 在android中主要有两种方法来实现对数据库的访问,一种是adb shell方式,另一种是通过相关的android 的java类来间接的对数据库来进行操作.其中 ...
- PHP中对数据库操作的封装
在动态网面设计中很多都要涉及到对数据库的操作,但是有时跟据需要而改用其它后台数据库,就需要大量修改程序.这是一件枯燥.费时而且容易出错的功作.其实我们可以用PHP中的类来实现对数据库操作的封装,从而使 ...
随机推荐
- Python基本数据类型之字典dict
字典dict 是一个键(key)值(value)对,结构为{},大括号 创建字典 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 info = { # k ...
- 带中横线的日期格式在iOS手机系统上 转换时间戳NaN问题
类似于 '2019-04-01 14:13:00' 这样的日期格式转换时间戳在iOS手机上是无法转换的,需要先处理日期格式成 '2019/04/01 14:13:00' var str = '2019 ...
- SQL数据库链接代码的解释
SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=(local);Initial ...
- epoll的实现与深入思考
提契 纸上得来终觉浅,绝知此事要躬行. 正文 前段时间写了一篇epoll的学习文章,但没有自己的心得总觉得比较肤浅,花了一些时间补充一个epoll的实例,并浅析一下过程中遇到的问题. 上epoll_s ...
- 使用jquery获取css的top和left属性
使用jquery获取css的top和left属性 因为left和top也都是普通的css属性所以可以使用如下代码来获取 var left = $('#test').css('left'); var t ...
- 点击之后连接qq
<a class=" " style="" href="http://wpa.qq.com/msgrd?v=3&uin=40482 ...
- PHP 常用 数组函数
1:array_push($arr,'添加的值') 往数组里面添加元素2:array_unique($arr) 去重函数3:array_reverse($arr) 倒叙排列
- 洛谷P1466 集合 Subset Sums_01背包水题
不多解释,适当刷刷水… Code: #include<cstdio> #include<algorithm> using namespace std; const int ma ...
- Noip2011 Mayan游戏 搜索 + 模拟 + 剪枝
写了一下午,终于AC了. 由于n<=5, 所以不需要太多的剪枝和技巧也能过.可以将操作后的消方块和下落和剪枝函数写到一个结构体中,这样会减少调试难度,更加简洁. 可以采用如下剪枝: 1. 如果当 ...
- 训练1-U
输入2个正整数A,B,求A与B的最小公倍数. Input 2个数A,B,中间用空格隔开.(1<= A,B <= 10^9) Output 输出A与B的最小公倍数. Sample Input ...