leadcloud數(shù)據(jù)存儲(chǔ)開發(fā)指南(三)-Js篇

AV.Object 是 LeanStorage 對(duì)復(fù)雜對(duì)象的封裝届良,每個(gè) AV.Object 包含若干屬性值對(duì)庄新,也稱鍵值對(duì)(key-value)据途。屬性的值是與 JSON 格式兼容的數(shù)據(jù)泄鹏。通過 REST API 保存對(duì)象需要將對(duì)象的數(shù)據(jù)通過 JSON 來編碼实胸。這個(gè)數(shù)據(jù)是無模式化的(Schema Free)他嫡,這意味著你不需要提前標(biāo)注每個(gè)對(duì)象上有哪些 key,你只需要隨意設(shè)置 key-value 對(duì)就可以庐完,云端會(huì)保存它钢属。

數(shù)據(jù)類型:
AV.Object 支持以下類型:

 // 該語句應(yīng)該只聲明一次
  var TestObject = AV.Object.extend('DataTypeTest');

  var number = 2014;
  var string = 'famous film name is ' + number;
  var date = new Date();
  var array = [string, number];
  var object = { number: number, string: string };

  var testObject = new TestObject();
  testObject.set('testNumber', number);
  testObject.set('testString', string);
  testObject.set('testDate', date);
  testObject.set('testArray', array);
  testObject.set('testObject', object);
  testObject.set('testNull', null);
  testObject.save().then(function(testObject) {
    // 成功
  }, function(error) {
    // 失敗
  });

注:每個(gè) AV.Object 的大小都不應(yīng)超過 128 KB。如果需要儲(chǔ)存更多的數(shù)據(jù)门躯,建議使用 AV.File淆党。

構(gòu)建對(duì)象:
構(gòu)建一個(gè)AV.Object對(duì)象可以使用以下方式:

 // AV.Object.extend('className') 所需的參數(shù) className 則表示對(duì)應(yīng)的表名
  // 聲明一個(gè)類型
  var Todo = AV.Object.extend('Todo');

注:每個(gè) id 必須有一個(gè) Class 類名稱,這樣云端才知道它的數(shù)據(jù)歸屬于哪張數(shù)據(jù)表讶凉。

保存對(duì)象:
現(xiàn)在我們保存一個(gè) TodoFolder染乌,它可以包含多個(gè) Todo,類似于給行程按文件夾的方式分組懂讯。我們并不需要提前去后臺(tái)創(chuàng)建這個(gè)名為 TodoFolder 的 Class 類荷憋,而僅需要執(zhí)行如下代碼,云端就會(huì)自動(dòng)創(chuàng)建這個(gè)類:

  // 聲明類型
  var TodoFolder = AV.Object.extend('TodoFolder');
  // 新建對(duì)象
  var todoFolder = new TodoFolder();
  // 設(shè)置名稱
  todoFolder.set('name','工作');
  // 設(shè)置優(yōu)先級(jí)
  todoFolder.set('priority',1);
  todoFolder.save().then(function (todo) {
    console.log('objectId is ' + todo.id);
  }, function (error) {
    console.log(error);
  });

創(chuàng)建完成后褐望,打開 控制臺(tái) > 存儲(chǔ)勒庄,點(diǎn)開 TodoFolder 類,就可以看到剛才添加的數(shù)據(jù)譬挚。除了 name锅铅、priority(優(yōu)先級(jí))之外,其他字段都是數(shù)據(jù)表的內(nèi)置屬性减宣。

內(nèi)置屬性 類型 描述
id String 該對(duì)象唯一的Id標(biāo)識(shí)
ACL ACL 該對(duì)象的權(quán)限控制盐须,實(shí)際上是一個(gè) JSON 對(duì)象,控制臺(tái)做了展現(xiàn)優(yōu)化漆腌。
createdAt Date 該對(duì)象被創(chuàng)建的 UTC 時(shí)間贼邓,控制臺(tái)做了針對(duì)當(dāng)?shù)貢r(shí)間的展現(xiàn)優(yōu)化阶冈。
updatedAt Date 該對(duì)象最后一次被修改的時(shí)間

屬性名
也叫鍵或 key,必須是由字母塑径、數(shù)字或下劃線組成的字符串女坑;自定義的屬性名,不能以 __(雙下劃線)開頭统舀。
屬性值
可以是字符串匆骗、數(shù)字、布爾值誉简、數(shù)組或字典碉就。

以下為系統(tǒng)保留字段,不能作為屬性名來使用闷串。
acl             error            pendingKeys
ACL             fetchWhenSave    running
className       id               updatedAt
code            isDataReady      uuid
createdAt       keyValues
description     objectId

使用CQL語法保存對(duì)象

 // 執(zhí)行 CQL 語句實(shí)現(xiàn)新增一個(gè) TodoFolder 對(duì)象
  AV.Query.doCloudQuery('insert into TodoFolder(name, priority) values("工作", 1)').then(function (data) {
    // data 中的 results 是本次查詢返回的結(jié)果瓮钥,AV.Object 實(shí)例列表
    var results = data.results;
  }, function (error) {
    //查詢失敗,查看 error
    console.log(error);
  });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末烹吵,一起剝皮案震驚了整個(gè)濱河市碉熄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肋拔,老刑警劉巖锈津,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異只损,居然都是意外死亡一姿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門跃惫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叮叹,“玉大人,你說我怎么就攤上這事爆存◎韧纾” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵先较,是天一觀的道長(zhǎng)携冤。 經(jīng)常有香客問我,道長(zhǎng)闲勺,這世上最難降的妖魔是什么曾棕? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮菜循,結(jié)果婚禮上翘地,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好衙耕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布昧穿。 她就那樣靜靜地躺著,像睡著了一般橙喘。 火紅的嫁衣襯著肌膚如雪时鸵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天厅瞎,我揣著相機(jī)與錄音饰潜,去河邊找鬼。 笑死磁奖,一個(gè)胖子當(dāng)著我的面吹牛囊拜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播比搭,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼南誊!你這毒婦竟也來了身诺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤抄囚,失蹤者是張志新(化名)和其女友劉穎霉赡,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體幔托,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡穴亏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了重挑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗓化。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖谬哀,靈堂內(nèi)的尸體忽然破棺而出刺覆,到底是詐尸還是另有隱情,我是刑警寧澤史煎,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布谦屑,位于F島的核電站,受9級(jí)特大地震影響篇梭,放射性物質(zhì)發(fā)生泄漏氢橙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一恬偷、第九天 我趴在偏房一處隱蔽的房頂上張望悍手。 院中可真熱鬧,春花似錦、人聲如沸谓苟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涝焙。三九已至卑笨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仑撞,已是汗流浹背赤兴。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留隧哮,地道東北人桶良。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像沮翔,于是被迫代替她去往敵國(guó)和親陨帆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容