Hướng dẫn does sqlalchemy work with mongodb? - sqlalchemy có hoạt động với mongodb không?

Tôi không thể tìm thấy bất kỳ thông tin nào về việc kết nối với MongoDB trong các tài liệu của SQLalchemy và Google Search.

Có thể sử dụng MongoDB với sqlalchemy? Cảm ơn.

Khi được hỏi ngày 23 tháng 5 năm 2016 lúc 9:25May 23, 2016 at 9:25

Hướng dẫn does sqlalchemy work with mongodb? - sqlalchemy có hoạt động với mongodb không?

1

Theo SQL Alchem ​​Desc, bạn không thể sử dụng nó:

SQLalchemy coi cơ sở dữ liệu là một công cụ đại số quan hệ, không chỉ là một tập hợp các bảng. Hàng có thể được chọn từ không chỉ các bảng mà còn tham gia và các câu lệnh chọn khác; Bất kỳ đơn vị nào trong số này có thể được sáng tác thành một cấu trúc lớn hơn. Ngôn ngữ biểu thức của SQLalchemy dựa trên khái niệm này từ cốt lõi của nó.

SQLalchemy nổi tiếng nhất với bản đồ liên quan đến đối tượng (ORM), một thành phần tùy chọn cung cấp mẫu Mapper Data, trong đó các lớp có thể được ánh xạ vào cơ sở dữ liệu theo kết thúc mở, nhiều cách - cho phép mô hình đối tượng và lược đồ cơ sở dữ liệu phát triển trong một cách tách biệt rõ ràng từ đầu.

Mục tiêu chính của SQLalchemy là thay đổi cách bạn nghĩ về cơ sở dữ liệu và SQL!

Đã trả lời ngày 23 tháng 5 năm 2016 lúc 9:41May 23, 2016 at 9:41

Hướng dẫn does sqlalchemy work with mongodb? - sqlalchemy có hoạt động với mongodb không?

profesor79profesor79profesor79

8.9843 huy hiệu vàng28 Huy hiệu bạc49 Huy hiệu đồng3 gold badges28 silver badges49 bronze badges

Bạn có thể sử dụng Mongoalchemy thay thế.

Đã trả lời ngày 18 tháng 6 năm 2021 lúc 15:18Jun 18, 2021 at 15:18

Thêm thông tin

Đầu nối CDATA Python cho MongoDB cho phép bạn tạo các ứng dụng và tập lệnh Python sử dụng ánh xạ liên quan đến đối tượng SQLalchemy của dữ liệu MongoDB.

Bài viết này chi tiết cách sử dụng sqlalchemy để kết nối với dữ liệu MongoDB để truy vấn, cập nhật, xóa và chèn dữ liệu MongoDB.

Kết nối với dữ liệu MongoDB

Kết nối với dữ liệu MongoDB tương tự như kết nối với bất kỳ cơ sở dữ liệu quan hệ nào khác. Tạo một chuỗi kết nối bằng các thuộc tính kết nối cần thiết. Đối với bài viết này, bạn sẽ chuyển chuỗi kết nối dưới dạng tham số cho hàm created_engine.

Đặt các thuộc tính kết nối máy chủ, cơ sở dữ liệu, người dùng và mật khẩu để kết nối với MongoDB. Để truy cập các bộ sưu tập MongoDB làm bảng, bạn có thể sử dụng Khám phá lược đồ tự động hoặc viết các định nghĩa lược đồ của riêng bạn. Các lược đồ được xác định trong các tệp .rsd, có định dạng đơn giản. Bạn cũng có thể thực hiện các truy vấn dạng tự do không được gắn với lược đồ.

Thực hiện theo quy trình dưới đây để cài đặt SQLalchemy và bắt đầu truy cập MongoDB thông qua các đối tượng Python.

Cài đặt các mô -đun cần thiết

Sử dụng tiện ích PIP để cài đặt bộ công cụ SQLalchemy:

Pip Cài đặt SQLALCHEMY

Đảm bảo nhập mô -đun với các mục sau:

nhập khẩu sqlalchemy sqlalchemy

Mô hình dữ liệu MongoDB trong Python

Bây giờ bạn có thể kết nối với một chuỗi kết nối. Sử dụng chức năng created_engine để tạo một công cụ để làm việc với dữ liệu MongoDB.

động cơ = created_engine (trên mong muốn= create_engine(“mongodb:///?Server=MyServer&;Port=27017&Database=test&User=test&Password=Password”)

Tuyên bố một lớp ánh xạ cho dữ liệu MongoDB

Sau khi thiết lập kết nối, khai báo một lớp ánh xạ cho bảng bạn muốn mô hình hóa trong ORM (trong bài viết này, chúng tôi sẽ mô hình hóa bảng nhà hàng). Sử dụng sqlalchemy.ext.declarative.declarative_base và tạo một lớp mới với một số hoặc tất cả các trường (cột) được xác định.

cơ sở = khai báo_base ()= declarative_base()

Nhà hàng lớp (cơ sở): restaurants(base):

__tablename__ = Nhà hàng ”= “restaurants”

borough = cột (chuỗi, chính_key = true)= Column(String,primary_key=True)

ẩm thực = cột (chuỗi)= Column(String)

Truy vấn dữ liệu MongoDB

Với lớp ánh xạ được chuẩn bị, bạn có thể sử dụng đối tượng phiên để truy vấn nguồn dữ liệu. Sau khi ràng buộc động cơ với phiên, cung cấp lớp ánh xạ cho phương thức truy vấn phiên.

Sử dụng phương thức truy vấn

động cơ = created_engine (trên mong muốn= create_engine(“mongodb:///?Server=MyServer&;Port=27017&Database=test&User=test&Password=Password”)

Tuyên bố một lớp ánh xạ cho dữ liệu MongoDB= sessionmaker(bind=engine)

Sau khi thiết lập kết nối, khai báo một lớp ánh xạ cho bảng bạn muốn mô hình hóa trong ORM (trong bài viết này, chúng tôi sẽ mô hình hóa bảng nhà hàng). Sử dụng sqlalchemy.ext.declarative.declarative_base và tạo một lớp mới với một số hoặc tất cả các trường (cột) được xác định.= factory()

cơ sở = khai báo_base () instance in session.query(restaurants).filter_by(Name=”Morris Park Bake Shop”):

Nhà hàng lớp (cơ sở):(“borough: “, instance.borough)

__tablename__ = Nhà hàng ”(“cuisine: “, instance.cuisine)

borough = cột (chuỗi, chính_key = true)(“ — — — — -”)

ẩm thực = cột (chuỗi)

Truy vấn dữ liệu MongoDB= restaurants.metadata.tables[“restaurants”]

Với lớp ánh xạ được chuẩn bị, bạn có thể sử dụng đối tượng phiên để truy vấn nguồn dữ liệu. Sau khi ràng buộc động cơ với phiên, cung cấp lớp ánh xạ cho phương thức truy vấn phiên. instance in session.execute(restaurants_table.select().where(restaurants_table.c.Name == “Morris Park Bake Shop”)):

Nhà hàng lớp (cơ sở):(“borough: “, instance.borough)

__tablename__ = Nhà hàng ”(“cuisine: “, instance.cuisine)

borough = cột (chuỗi, chính_key = true)(“ — — — — -”)

ẩm thực = cột (chuỗi)

Truy vấn dữ liệu MongoDB

Với lớp ánh xạ được chuẩn bị, bạn có thể sử dụng đối tượng phiên để truy vấn nguồn dữ liệu. Sau khi ràng buộc động cơ với phiên, cung cấp lớp ánh xạ cho phương thức truy vấn phiên.= restaurants(borough=”placeholder”, Name=”Morris Park Bake Shop”)

session.add(new_rec)

session.commit()

Sử dụng phương thức truy vấn

Factory = sessionMaker (Bind = Engine)

phiên = nhà máy ()= session.query(restaurants).filter_by(SOME_ID_COLUMN=”SOME_ID_VALUE”).first()

Ví dụ, trong phiên= “Morris Park Bake Shop”

session.commit()

In

in (ẩm thực của người Hồi giáo: Hồi, ví dụ.cuisine)

in(" - - - - -")= session.query(restaurants).filter_by(SOME_ID_COLUMN=”SOME_ID_VALUE”).first()

session.delete(deleted_rec)

session.commit()

Ngoài ra, bạn có thể sử dụng phương thức thực thi với đối tượng bảng thích hợp. Mã dưới đây hoạt động với một phiên hoạt động.

Sử dụng phương thức thực thi

Nhà hàng_table = nhà hàng.metadata.tables [Nhà hàng của người Hồi giáo]]

SQLalchemy hỗ trợ cơ sở dữ liệu nào?

Cơ sở dữ liệu được hỗ trợ. SQLalchemy bao gồm các phương ngữ cho SQLite, PostgreSQL, MySQL, Oracle, MS-SQL, Firebird, Sybase và những người khác, hầu hết đều hỗ trợ nhiều dbapis.SQLite, Postgresql, MySQL, Oracle, MS-SQL, Firebird, Sybase and others, most of which support multiple DBAPIs.

Có điều gì tốt hơn Sqlalchemy?

Django, gấu trúc, khung thực thể, Peewee và MySQL là những lựa chọn thay thế và đối thủ phổ biến nhất cho SQLalchemy. are the most popular alternatives and competitors to SQLAlchemy.

Làm thế nào để SQLalchemy kết nối với cơ sở dữ liệu?

Kết nối với cơ sở dữ liệu SQL bằng SQLalchemy trong Python..
Bước 1: Nhập thư viện.Nhập PYODBC.....
Bước 2: Thiết lập kết nối với cơ sở dữ liệu.# Để kết nối, chúng tôi cần tên máy chủ, tên cơ sở dữ liệu mà chúng tôi muốn kết nối.....
Bước 3: Trích xuất tên bảng có trong cơ sở dữ liệu.....
Bước 4: Trích xuất nội dung bảng ..

Có đáng sử dụng sqlalchemy không?

SQLalchemy là ORM được lựa chọn để làm việc với các cơ sở dữ liệu quan hệ trong Python.Lý do tại sao SQLalchemy rất phổ biến là vì nó rất đơn giản để thực hiện, giúp bạn phát triển mã của mình nhanh hơn và không yêu cầu kiến thức về SQL để bắt đầu.it is very simple to implement, helps you develop your code quicker and doesn't require knowledge of SQL to get started.