日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

RDB.js:適用于 Node.js 和 Typescript 的終極對象關系映射器

來源: 責編: 時間:2023-10-26 17:10:28 249觀看
導讀RDB.js 是適用于 Node.js 和 Typescript 的終極對象關系映射器,可與 Postgres、MS SQL、MySQL、Sybase SAP 和 SQLite 等流行數據庫無縫集成。無論您是使用 TypeScript 還是 JavaScript(包括 CommonJS 和 ECMAScript)構

RDB.js 是適用于 Node.js 和 Typescript 的終極對象關系映射器,可與 Postgres、MS SQL、MySQL、Sybase SAP 和 SQLite 等流行數據庫無縫集成。無論您是使用 TypeScript 還是 JavaScript(包括 CommonJS 和 ECMAScript)構建應用程序,RDB 都能滿足您的需求。0h828資訊網——每日最新資訊28at.com

RDB.js:https://rdbjs.org/0h828資訊網——每日最新資訊28at.com

關鍵特性

  • 豐富的查詢模式:RDB 提供了強大而直觀的查詢模型,可輕松檢索、過濾和操作數據庫中的數據。
  • 簡明 API:RDB 擁有簡明且便于開發人員使用的 API,可讓您使用簡單而富有表現力的語法與數據庫進行交互。
  • 無需代碼生成:享受完整的智能感知,即使在表映射中,也不需要繁瑣的代碼生成。
  • 支持 TypeScript 和 JavaScript:RDB 完全支持 TypeScript 和 JavaScript,讓您可以充分利用靜態類型和現代 ECMAScript 功能的優勢。
  • 可在瀏覽器中使用:通過使用 Express.js 插件,您可以在瀏覽器中安全地使用 RDB,該插件用于保護敏感的數據庫憑據,避免在客戶端級別暴露。這個方法反映了傳統的 REST API,并使用了高級 TypeScript 工具來增強功能。

安裝與使用

$ npm install rdb

示例

0h828資訊網——每日最新資訊28at.com

這里我們選擇 SQLite。0h828資訊網——每日最新資訊28at.com

npm install sqlite3

map.js 地圖.js0h828資訊網——每日最新資訊28at.com

import rdb from "rdb";const map = rdb  .map((x) => ({    customer: x.table("customer").map(({ column }) => ({      id: column("id")        .numeric()        .primary()        .notNullExceptInsert(),      name: column("name").string(),      balance: column("balance").numeric(),      isActive: column("isActive").boolean(),    })),    order: x.table("_order").map(({ column }) => ({      id: column("id")        .numeric()        .primary()        .notNullExceptInsert(),      orderDate: column("orderDate").date().notNull(),      customerId: column("customerId")        .numeric()        .notNullExceptInsert(),    })),    orderLine: x.table("orderLine").map(({ column }) => ({      id: column("id").numeric().primary(),      orderId: column("orderId").numeric(),      product: column("product").string(),    })),    deliveryAddress: x      .table("deliveryAddress")      .map(({ column }) => ({        id: column("id").numeric().primary(),        orderId: column("orderId").numeric(),        name: column("name").string(),        street: column("street").string(),        postalCode: column("postalCode").string(),        postalPlace: column("postalPlace").string(),        countryCode: column("countryCode").string(),      })),  }))  .map((x) => ({    order: x.order.map((v) => ({      customer: v.references(x.customer).by("customerId"),      lines: v.hasMany(x.orderLine).by("orderId"),      deliveryAddress: hasOne(x.deliveryAddress).by(        "orderId"      ),    })),  }));export default map;

update.js 更新.js0h828資訊網——每日最新資訊28at.com

import map from "./map";const db = map.sqlite("demo.db");updateRow();async function updateRow() {  const order = await db.order.getById(2, {    lines: true,  });  order.lines.push({    product: "broomstick",  });  await order.saveChanges();}

filter.js 過濾器.js0h828資訊網——每日最新資訊28at.com

import map from "./map";const db = map.sqlite("demo.db");getRows();async function getRows() {  const filter = db.order.lines    .any((line) => line.product.contains("broomstick"))    .and(db.order.customer.name.startsWith("Harry"));  const orders = await db.order.getMany(filter, {    lines: true,    deliveryAddress: true,    customer: true,  });  console.dir(orders, { depth: Infinity });}


0h828資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-15185-0.htmlRDB.js:適用于 Node.js 和 Typescript 的終極對象關系映射器

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 掌握Go編程中的錯誤處理和日志記錄

下一篇: Golang中的錯誤處理:全面指南及示例

標簽:
  • 熱門焦點
  • K60 Pro官方停產 第三方瞬間漲價

    雖然沒有官方宣布,但Redmi的一些高管也已經透露了,Redmi K60 Pro已經停產且不會補貨,這一切都是為了即將到來的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機在停產之后
  • 7月安卓手機好評榜:三星S23Ultra好評率第一

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年7月1日至7月31日,僅限國內市場。第一名:三星Galaxy S23 Ultra好評率:95.71%在即將迎來新
  • 5月安卓手機好評榜:魅族20 Pro奪冠

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年5月1日至5月31日,僅限國內市場。第一名:魅族20 Pro好評率:97.50%不得不感慨魅族老品牌還
  • 微軟邀請 Microsoft 365 商業用戶,測試視頻編輯器 Clipchamp

    8 月 1 日消息,微軟近日宣布即將面向 Microsoft 365 商業用戶,開放 Clipchamp 應用,邀請用戶通過該應用來編輯視頻。微軟于 2021 年收購 Clipchamp,隨后開始逐步整合到 Microsof
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時候,現百度,功能雖然實現了,但是為什么用這個?不知道。更別說效率問題了~下次再遇到,
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 本地生活這塊肥肉,拼多多也想吃一口

    出品/壹覽商業 作者/李彥編輯/木魚拼多多也看上本地生活這塊蛋糕了。近期,拼多多在App首頁“充值中心”入口上線了本機生活界面。壹覽商業發現,該界面目前主要
  • 聯想YOGA 16s 2022筆記本將要推出,屏幕支持觸控功能

    聯想此前宣布,將于11月2日19:30召開聯想秋季輕薄新品發布會,推出聯想 YOGA 16s 2022 筆記本等新品。官方稱,YOGA 16s 2022 筆記本將搭載 16 英寸屏幕,并且是一
  • 蘋果140W USB-C充電器:采用氮化鎵技術

    據10 月 30 日 9to5 Mac 消息報道,當蘋果推出新的 MacBook Pro 2021 時,該公司還推出了新的 140W USB-C 充電器,附贈在 MacBook Pro 16 英寸機型的盒子里,也支
Top 主站蜘蛛池模板: 六枝特区| 东乌珠穆沁旗| 丰镇市| 平远县| 江永县| 濮阳市| 海安县| 闻喜县| 鄂托克前旗| 苏州市| 安泽县| 宁安市| 社会| 彰化市| 昌吉市| 外汇| 通辽市| 文成县| 瑞丽市| 利川市| 左云县| 陕西省| 新丰县| 广宁县| 保山市| 宁蒗| 政和县| 朝阳区| 沙田区| 蚌埠市| 巴彦县| 庐江县| 辽源市| 舞钢市| 姚安县| 东至县| 汝城县| 和顺县| 霍城县| 综艺| 伊金霍洛旗|