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

資訊專欄INFORMATION COLUMN

orm2 中文文檔 3.1 模型屬性

Yuqi / 2213人閱讀

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

譯者:飛龍

來源:Model Properties

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

類型

受支持的類型是:

text:文本字符串;

number:浮點數。你可以指定size2 | 4 | 8

integer:整數。你可以指定size2 | 4 | 8

booleantruefalse的值;

date:日期對象。你可以指定timetrue

enum:一個備選列表中的值;

object:JSON對象;

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

binary:二進制數據;

serial:自增長的整數,用于主鍵。

每個類型都有額外的選項。這個模型定義使用了它們中的絕大多數:

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(文本)。文本類型也支持最大尺寸(數值)和big(布爾值,用于非常長的字符串)。數值類型是浮點數,支持size(數值,字節(jié)大小)和unsigned(布爾值)。日期類型支持time(布爾值)。

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

如果你打算用默認選項,你可以使用原生類型來指定屬性類型:

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字段映射到不同名稱的數據庫列中
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" }
});

一些可用的高級自定義類型,能夠讓你像 PostGIS 那樣使用模型。請見這個 spec 。

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

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/17508.html

相關文章

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

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

    gnehc 評論0 收藏0
  • orm2 中文文檔 3.2 模型驗證器

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

    zhiwei 評論0 收藏0

發(fā)表評論

0條評論

Yuqi

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<