Tôi đã viết ORM cho Node.js được gọi là nút-data-mapper; nó có sẵn ở đây: https://www.npmjs.com/package/node-data-mapper. Đó là ORM cho Node.js sử dụng mẫu trình ánh xạ dữ liệu. Nhà phát triển sử dụng các đối tượng JavaScript thuần cũ khi đọc và ghi vào cơ sở dữ liệu. Mối quan hệ giữa các bảng không được xác định cứng nhắc, mà làm cho việc tham gia rất linh hoạt - theo ý kiến của tôi, dù sao - mặc dù hơi tiết. Thuật toán ánh xạ dữ liệu thực tế nhanh và ngắn, và độ phức tạp là tuyến tính (sự biến đổi từ dữ liệu DB dạng bảng thành một đối tượng JavaScript chuẩn hóa được thực hiện trong một vòng lặp).
Tôi cũng đã cố gắng hết sức để làm cho nó khá chịu lỗi. Có 100% phạm vi mã và, trong khi tôi biết điều đó không chứng minh sự vắng mặt của các khuyết tật, tôi đã cố gắng kiểm tra kỹ lưỡng nhất có thể.
Tôi đã lập mô hình giao diện rất lỏng lẻo sau Doctrine 1. (Tôi đã sử dụng LINQ, Doctrine 1 và 2 và Hibernate khá rộng rãi, và trong số những ORM đó tôi thích giao diện cho Doctrine 1 nhất. Nút-data-mapper tuy nhiên, không phải là cổng JavaScript của Doctrine bằng bất kỳ phương tiện nào và giao diện khác biệt đáng kể.) Giao diện truy vấn trả về các lời hứa bằng cách sử dụng mô-đun deferred.
Tôi đã lập mô hình các điều kiện (ví dụ: mệnh đề WHERE và ON) sau điều kiện của MongoDB. Hy vọng rằng làm cho các điều kiện hơi trực quan trong khi cung cấp một cách để thực hiện các truy vấn có thể tái sử dụng (đặc biệt, các truy vấn SELECT phức tạp có thể được lọc một cách an toàn theo nhiều cách khác nhau). Các điều kiện được coi là một ngôn ngữ cụ thể theo miền, và được lexed, phân tích cú pháp và biên dịch.
Dù sao, mô-đun là thứ mà tôi sử dụng trong các dự án cá nhân của mình, nhưng tôi rất muốn nhận được phản hồi từ các nhà phát triển khác trong cộng đồng! Tôi đã cố gắng cung cấp nhiều ví dụ để giúp mọi người nhanh chóng và hoạt động. Hiện tại mô-đun chỉ hỗ trợ MySQL, nhưng tôi đang làm việc để thêm hỗ trợ cho MSSQL.
Hãy thử [StrongLoop] (http://strongloop.com/), bạn có thể ánh xạ các kiểu vào các bảng và tạo một máy khách REST được sử dụng với API REST được tạo ra bởi ánh xạ. Không biết nếu đây là những gì bạn đang tìm kiếm nhưng không đau đặt nó ra khỏi đó như là một bình luận? :) – furier
@furier nó không giống như orm – pleerock