成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 前端
RDB.js 是適用于 Node.js 和 Typescript 的終極對象關系映射器,可與 Postgres、MS SQL、MySQL、Sybase SAP 和 SQLite 等流行數據庫無縫集成。

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

RDB.js:https://rdbjs.org/

關鍵特性

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

安裝與使用

$ npm install rdb

示例

這里我們選擇 SQLite。

npm install sqlite3

map.js 地圖.js

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 更新.js

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 過濾器.js

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 });
}


責任編輯:華軒 來源: 獨立開發者張張
相關推薦

2023-06-20 19:35:00

Node.js工具

2022-02-22 11:39:13

WebSocketsNode.js開發

2015-03-10 10:59:18

Node.js開發指南基礎介紹

2013-11-01 09:34:56

Node.js技術

2009-09-01 10:49:05

MIS系統

2024-08-28 08:33:15

2021-12-25 22:29:57

Node.js 微任務處理事件循環

2019-07-09 14:50:15

Node.js前端工具

2012-02-03 09:25:39

Node.js

2020-05-29 15:33:28

Node.js框架JavaScript

2011-11-10 08:55:00

Node.js

2012-10-24 14:56:30

IBMdw

2011-09-08 13:46:14

node.js

2011-11-01 10:30:36

Node.js

2011-09-02 14:47:48

Node

2011-09-09 14:23:13

Node.js

2021-03-04 23:12:57

Node.js異步迭代器開發

2020-10-12 08:06:28

HTTP 服務器證書

2024-03-13 15:26:13

Node.js戶主目錄Windows

2021-07-09 00:24:10

No.jsNode.js原理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产美女视频黄 | 女女百合av大片一区二区三区九县 | 99视频网站 | 黑人巨大精品欧美黑白配亚洲 | 免费观看a级毛片在线播放 黄网站免费入口 | 国产农村妇女精品一二区 | 国产精品久久一区二区三区 | 亚洲h在线观看 | 国产精品欧美一区喷水 | 国产精品178页 | 亚洲欧美一区二区三区国产精品 | 欧美日韩亚洲一区 | 国产精品久久午夜夜伦鲁鲁 | 色视频网站免费 | 日本一区二区三区在线观看 | 精品国产乱码久久久久久老虎 | 九九久久精品视频 | 欧美国产在线一区 | 男女羞羞视频在线 | 精品在线一区 | 91久久精品国产91久久 | 久久久高清 | 国产精品久久久久久亚洲调教 | 一区二区三区四区国产 | 午夜视频一区二区 | 国产69久久精品成人看动漫 | 亚洲 欧美 综合 | 天天综合永久 | 日韩成人在线观看 | 日韩图区 | www.久久| 在线不卡视频 | 久久久精彩视频 | 波多野结衣一区二区 | 日韩视频一区二区三区 | 涩涩鲁亚洲精品一区二区 | 成人精品一区二区 | 国产1区在线 | 欧洲精品在线观看 | 久久精点视频 | 蜜桃一区|