国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

orm2 中文文檔 3.1 模型屬性

Yuqi / 2205人閱讀

摘要:譯者飛龍來源模型和一些關(guān)聯(lián)具有一個(gè)或多個(gè)屬性,每個(gè)屬性有類型以及一些可選設(shè)置,你可以自行選擇它們或使用默認(rèn)設(shè)置。文本類型也支持最大尺寸數(shù)值和布爾值,用于非常長(zhǎng)的字符串。數(shù)值類型是浮點(diǎn)數(shù),支持?jǐn)?shù)值,字節(jié)大小和布爾值。日期類型支持布爾值。

譯者:飛龍

來源:Model Properties

模型和一些關(guān)聯(lián)具有一個(gè)或多個(gè)屬性,每個(gè)屬性有類型以及一些可選設(shè)置,你可以自行選擇它們(或使用默認(rèn)設(shè)置)。

類型

受支持的類型是:

text:文本字符串;

number:浮點(diǎn)數(shù)。你可以指定size2 | 4 | 8

integer:整數(shù)。你可以指定size2 | 4 | 8

booleantruefalse的值;

date:日期對(duì)象。你可以指定timetrue

enum:一個(gè)備選列表中的值;

object:JSON對(duì)象;

point:N維的點(diǎn)(不被廣泛支持);

binary:二進(jìn)制數(shù)據(jù);

serial:自增長(zhǎng)的整數(shù),用于主鍵。

每個(gè)類型都有額外的選項(xiàng)。這個(gè)模型定義使用了它們中的絕大多數(shù):

var Person = db.define("person", {
    name    : { type: "text", size: 50 },
    surname : { type: "text", defaultValue: "Doe" },
    male    : { type: "boolean" },
    vat     : { type: "integer", unique: true },
    country : { type: "enum", values: [ "USA", "Canada", "Rest of the World" ] },
    birth   : { type: "date", time: false }
});

所有類型都支持required(布爾值),unique(布爾值)和defaultValue(文本)。文本類型也支持最大尺寸(數(shù)值)和big(布爾值,用于非常長(zhǎng)的字符串)。數(shù)值類型是浮點(diǎn)數(shù),支持size(數(shù)值,字節(jié)大小)和unsigned(布爾值)。日期類型支持time(布爾值)。

要注意8字節(jié)的數(shù)值有其局限性。

如果你打算用默認(rèn)選項(xiàng),你可以使用原生類型來指定屬性類型:

var Person = db.define("person", {
    name    : String,
    male    : Boolean,
    vat     : Number, // FLOAT
    birth   : Date,
    country : [ "USA", "Canada", "Rest of the World" ],
    meta    : Object, // JSON
    photo   : Buffer  // binary
});
將ORM字段映射到不同名稱的數(shù)據(jù)庫列中
var Person = db.define("person", {
    name    : { type: "text", mapsTo: "fullname" }
});

ORM屬性name映射person表的fullname列。

自定義類型

你可以向ORM添加你自己的類型,像這樣:

db.defineType("numberArray", {
  datastoreType: function(prop) {
    return "TEXT"
  },
  // This is optional
  valueToProperty: function(value, prop) {
    if (Array.isArray(value)) {
      return value;
    } else {
      return value.split(",").map(function (v) {
        return Number(v);
      });
    }
  },
  // This is also optional
  propertyToValue: function(value, prop) {
    return value.join(",")
  }
});
var LottoTicket = db.define("lotto_ticket", {
  numbers: { type: "numberArray" }
});

一些可用的高級(jí)自定義類型,能夠讓你像 PostGIS 那樣使用模型。請(qǐng)見這個(gè) spec 。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/17508.html

相關(guān)文章

  • orm2 中文文檔 3. 定義模型

    摘要:譯者飛龍來源在連接之后,你可以使用連接對(duì)象來定義你的模型。你需要指定模型的名稱,一個(gè)用于描述的屬性和一些可選的選項(xiàng)。在這個(gè)例子中,有個(gè)模型方法叫做。接收的第一個(gè)對(duì)象第二個(gè)參數(shù)被稱為屬性對(duì)象,它定義了所有的屬性。在屬性修改時(shí)自動(dòng)保存模型。 譯者:飛龍 來源:Defining Models 在連接之后,你可以使用連接對(duì)象(db)來定義你的模型。你需要指定模型的名稱,一個(gè)用于描述的屬性和...

    gnehc 評(píng)論0 收藏0
  • orm2 中文文檔 3.2 模型驗(yàn)證器

    摘要:譯者飛龍來源模塊用于驗(yàn)證數(shù)據(jù)。可用的驗(yàn)證器的列表請(qǐng)見。驗(yàn)證器也構(gòu)建于中,可以這樣來訪問你可以為模型的每個(gè)屬性定義驗(yàn)證器。在第一個(gè)驗(yàn)證器驗(yàn)證失敗之后,驗(yàn)證就停止了。 譯者:飛龍 來源:Model Validations Enforce模塊用于驗(yàn)證數(shù)據(jù)。對(duì)于使用以前的驗(yàn)證器的用戶,還可以繼續(xù)使用,它們中的一部分整合到了enforce,剩余部分還沒有。推薦你開始使用orm.enforce...

    zhiwei 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<