就像标题所说的那样,我正在寻找一个支持分层数据的ORM。例如,我需要表示这样的关系(带有子类别的类别等等…):
CREATE TABLE "category"
(
"id" SERIAL PRIMARY KEY,
"parent" INTEGER NULL DEFAULT NULL REFERENCES "category" ("id")
"name" VARCHAR(50) NOT NULL UNIQUE,
"description" VARCHAR(100) NOT NULL,
"sort_order" INTEGER NULL DEFAULT NULL,
);
有人能做到这一点吗?
你应该看看sails.js。他们的WaterlineORM支持数十个数据库,并提供出色的关系支持,它周围有一个庞大的社区。
来自文档:
你可以做所有你可能习惯的事情(一对多,多对多),但也可以指定多个命名关联每个模型(例如,一个蛋糕可能有两组人:"havers"one_answers"eaters")。更好的是,您可以将不同的模型分配给不同的数据库,您的关联/联接仍然有效--甚至跨越NoSQL和关系边界。帆船没有问题隐式/自动地将MySQL表与Mongo集合连接反之亦然。