摘要:譯者飛龍來源模型和一些關(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ù)。你可以指定size為2 | 4 | 8;
integer:整數(shù)。你可以指定size為2 | 4 | 8;
boolean:true或false的值;
date:日期對(duì)象。你可以指定time為true;
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
摘要:譯者飛龍來源在連接之后,你可以使用連接對(duì)象來定義你的模型。你需要指定模型的名稱,一個(gè)用于描述的屬性和一些可選的選項(xiàng)。在這個(gè)例子中,有個(gè)模型方法叫做。接收的第一個(gè)對(duì)象第二個(gè)參數(shù)被稱為屬性對(duì)象,它定義了所有的屬性。在屬性修改時(shí)自動(dòng)保存模型。 譯者:飛龍 來源:Defining Models 在連接之后,你可以使用連接對(duì)象(db)來定義你的模型。你需要指定模型的名稱,一個(gè)用于描述的屬性和...
摘要:譯者飛龍來源模塊用于驗(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...
閱讀 3467·2023-04-25 18:52
閱讀 2480·2021-11-22 15:31
閱讀 1218·2021-10-22 09:54
閱讀 3004·2021-09-29 09:42
閱讀 602·2021-09-26 09:55
閱讀 905·2021-09-13 10:28
閱讀 1093·2019-08-30 15:56
閱讀 2105·2019-08-30 15:55