摘要:譯者飛龍來源模型和一些關聯具有一個或多個屬性,每個屬性有類型以及一些可選設置,你可以自行選擇它們或使用默認設置。文本類型也支持最大尺寸數值和布爾值,用于非常長的字符串。數值類型是浮點數,支持數值,字節(jié)大小和布爾值。日期類型支持布爾值。
譯者:飛龍
來源:Model Properties
模型和一些關聯具有一個或多個屬性,每個屬性有類型以及一些可選設置,你可以自行選擇它們(或使用默認設置)。
類型受支持的類型是:
text:文本字符串;
number:浮點數。你可以指定size為2 | 4 | 8;
integer:整數。你可以指定size為2 | 4 | 8;
boolean:true或false的值;
date:日期對象。你可以指定time為true;
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
摘要:譯者飛龍來源在連接之后,你可以使用連接對象來定義你的模型。你需要指定模型的名稱,一個用于描述的屬性和一些可選的選項。在這個例子中,有個模型方法叫做。接收的第一個對象第二個參數被稱為屬性對象,它定義了所有的屬性。在屬性修改時自動保存模型。 譯者:飛龍 來源:Defining Models 在連接之后,你可以使用連接對象(db)來定義你的模型。你需要指定模型的名稱,一個用于描述的屬性和...
摘要:譯者飛龍來源模塊用于驗證數據。可用的驗證器的列表請見。驗證器也構建于中,可以這樣來訪問你可以為模型的每個屬性定義驗證器。在第一個驗證器驗證失敗之后,驗證就停止了。 譯者:飛龍 來源:Model Validations Enforce模塊用于驗證數據。對于使用以前的驗證器的用戶,還可以繼續(xù)使用,它們中的一部分整合到了enforce,剩余部分還沒有。推薦你開始使用orm.enforce...
閱讀 3473·2023-04-25 18:52
閱讀 2485·2021-11-22 15:31
閱讀 1224·2021-10-22 09:54
閱讀 3011·2021-09-29 09:42
閱讀 607·2021-09-26 09:55
閱讀 912·2021-09-13 10:28
閱讀 1103·2019-08-30 15:56
閱讀 2110·2019-08-30 15:55