Mongoose là một lớp trung gian giữa mã JavaScript của bạn và một cơ sở dữ liệu MongoDB.
Nó có hướng dẫn bằng văn bản trong JavaScript, chuyển đổi chúng thành các truy vấn MongoDB, chạy chúng, lấy về các kết quả, và làm cho họ có sẵn cho các ứng dụng JS là một đối tượng bình thường.
Vì MongoDB không phải là một cơ sở dữ liệu quan hệ, nguyên tắc ORM cổ điển không áp dụng. Sự thích nghi của những nguyên tắc này dẫn đến một cái gì đó giống như một ODM, có thể sử dụng giống như một ORM, nhưng cụ thể phù hợp với cấu trúc của một cơ sở dữ liệu lưu trữ tài liệu NoSQL như MongoDB.
Mongoose có lẽ là nổi tiếng nhất và nổi tiếng MongoDB ODM, tạo để hỗ trợ các ngôn ngữ truy vấn MongoDB phức tạp, mà không buộc các nhà phát triển để lặn quá sâu trong NoSQL nguyên tắc và dữ liệu kỹ thuật quản lý.
Chỉ với một vài chức năng ở đây và ở đó, các lập trình viên đã có thể chạy thẩm vấn phức tạp và di chuyển dữ liệu bên trong cơ sở dữ liệu mà không cần chuyên gia MongoDB thực tế.
Hiện nay, Mongoose đã được sử dụng trong môi trường sản xuất tại công ty như LearnBoost, LinkedIn, McDonalds, Storify, và Trello.
Điều gì là mới trong phiên bản này :
- cố định:
- On-the-fly tài liệu giản đồ typo
- lỗi Cast xử lý xác nhận
- Discriminators với populate ()
- Tăng bây giờ là một con đường Reserved
- Tránh gửi id đối tượng trùng lặp trong populate ()
- nâng cấp:
- MongoDB để 2.0.24 đúng phát ra kết nối lại sự kiện nhiều lần
Điều gì là mới trong phiên bản 4.2.8:
- Cố định:
- On-the-fly tài liệu giản đồ typo
- lỗi Cast xử lý xác nhận
- Discriminators với populate ()
- Tăng bây giờ là một con đường Reserved
- Tránh gửi id đối tượng trùng lặp trong populate ()
- nâng cấp:
- MongoDB để 2.0.24 đúng phát ra kết nối lại sự kiện nhiều lần
Điều gì là mới trong phiên bản 4.1.5:
- Cố định:
- On-the-fly tài liệu giản đồ typo
- lỗi Cast xử lý xác nhận
- Discriminators với populate ()
- Tăng bây giờ là một con đường Reserved
- Tránh gửi id đối tượng trùng lặp trong populate ()
- nâng cấp:
- MongoDB để 2.0.24 đúng phát ra kết nối lại sự kiện nhiều lần
Điều gì là mới trong phiên bản 4.0.4:
- Cố định:
- On-the-fly tài liệu giản đồ typo
- lỗi Cast xử lý xác nhận
- Discriminators với populate ()
- Tăng bây giờ là một con đường Reserved
- Tránh gửi id đối tượng trùng lặp trong populate ()
- nâng cấp:
- MongoDB để 2.0.24 đúng phát ra kết nối lại sự kiện nhiều lần
Điều gì là mới trong phiên bản 4.0.2:
- Cố định:
- On-the-fly tài liệu giản đồ typo
- lỗi Cast xử lý xác nhận
- Discriminators với populate ()
- Tăng bây giờ là một con đường Reserved
- Tránh gửi id đối tượng trùng lặp trong populate ()
- nâng cấp:
- MongoDB để 2.0.24 đúng phát ra kết nối lại sự kiện nhiều lần
Điều gì là mới trong phiên bản 3.9.7 / 4.0.0-rc1:
- Nhập:
- Khả năng thiết lập đường đông dân cư duy nhất để các văn bản
- setDefaultsOnInsert và runValidator tùy chọn cho findOneAndUpdate ()
- Cố định:
- Tĩnh học không còn có thể được ghi đè
Điều gì là mới trong phiên bản 3.9.0:
- Nhập:
- Domain từ khóa dành riêng
- Không đồng bộ bài móc
- Sử dụng mô hình cho dân, cross-db populate
- Có thể định nghĩa một kiểu cho trình xác nhận sơ đồ
- doc.remove () trả về một lời hứa
- hứa hẹn nội bộ cho lưỡi câu, tiền lưu móc chạy song song
- Cố định:
- geoSearch treo khi không có kết quả trả về
Điều gì là mới trong phiên bản 3.8.0:
- Nhập:
- Tùy chỉnh thông điệp lỗi cho trình xác nhận tích hợp
- hỗ trợ phân biệt
- Hỗ trợ tên tập tàn tật pluralization
- Hỗ trợ cho GeoJSON để truy vấn # gần
- Stand-alone hỗ trợ truy vấn cơ sở - query.toConstructor ()
- Promise hỗ trợ để geoSearch
- Promise hỗ trợ cho geoNear
- connection.useDb () # 1124 ebensing
- Promise hỗ trợ để model.mapReduce ()
- Promise hỗ trợ để model.ensureIndexes ()
Điều gì là mới trong phiên bản 3.7.3:
- Thay đổi:
- Không còn offically hỗ trợ nút 0.6.x
- Nhập:
- Hỗ trợ cho GeoJSON để truy vấn # gần
- Stand-alone hỗ trợ truy vấn cơ sở - query.toConstructor ()
- Promise hỗ trợ để geoSearch
- Promise hỗ trợ cho geoNear
- Cố định:
- Setters không bắn vào các giá trị null
- Xử lý các trường hợp khác versioning cạnh
Điều gì là mới trong phiên bản 3.6.13:
- Cố định:
- Gọi model.distinct vô điều kiện.
- Regression trong Query # count ().
Điều gì là mới trong phiên bản 3.6.0:
- Nhập:
- QueryStream đổi tùy chọn
- Hỗ trợ cho các tùy chọn điều khiển authSource
- {cầy, db} .modelNames ()
- $ đẩy w / $ lát, $ loại hỗ trợ (MongoDB 2.4)
- băm loại chỉ số (MongoDB 2.4)
- Hỗ trợ cho MongoDB 2.4 GeoJSON (MongoDB 2.4)
- Giá trị tại thời điểm xác nhận lỗi
- Hỗ trợ cho các đối tượng lược đồ đen
- tùy chọn bufferCommands giản đồ
Điều gì là mới trong phiên bản 3.5.7:
- Cố định:
- utils.clone giữ RegExp opts
- hỗ trợ deepEquals RegExp
- Một thử nghiệm kết nối
Điều gì là mới trong phiên bản 3.5.5:
- Cập nhật:
- Driver để 1.2.11.
- Gỡ bỏ:
- Old nút & # x3c; 0.6x miếng chêm.
Điều gì là mới trong phiên bản 3.5.4:
- Cập nhật:
- Driver để 1.2.8
- Cố định:
- Exception khi mở lại một bộ bản sao.
Điều gì là mới trong phiên bản 3.5.3:
- Nhập:
- Hỗ trợ cho ký hiệu đối tượng địa lý
- Cố định:
- $ trong vòng casting truy vấn với mảng
- hỗ trợ Unix ổ cắm miền
Điều gì là mới trong phiên bản 3.5.0:
- Nhập:
- Schema # get (để lấy tùy chọn giản đồ)
- VersionError
- npmignore hidekiy
- Cập nhật:
- Driver để 1.2.3
- Cố định:
- stackoverflow trong setter
- utils.isObject ()
- Không clobber người dùng điều khiển định writeConern
- Luôn luôn vượt qua tài liệu hiện hành để viết móc
- lỗi Throw khi người dùng cố gắng để ghi đè lên một mô hình
Điều gì là mới trong phiên bản 3.4.0:
- Nhập:
- Hỗ trợ cho toJSON chung / toObject biến đổi.
- doc.set () kết hợp hỗ trợ.
- truy vấn # hỗ trợ thêm.
- Thay đổi:
- Thêm đường dẫn lồng nhau không hợp lệ để phi vật thể ném.
- Ngừng hợp lệ chức năng nhân bản (sửa chữa nội bộ).
- Cố định:
- truy vấn và hỗ trợ đúc $.
- ghi đè các đối số truy vấn.
- Documents:
- Cố định hết hạn ví dụ.
Điều gì là mới trong phiên bản 3.2.0:
- Nhập:
- Chuyển nhượng chỉ số mảng với sự hỗ trợ đúc doc.array.set (chỉ số, giá trị)
- Cố định:
- QueryStream # resume trong cùng đánh dấu là tạm dừng ()
- Giá trị mặc định validatation
- Array nối () không đúc
- trường hợp mặc định mảng cạnh xây dựng
Điều gì là mới trong phiên bản 3.1.0:
- Cố định:
- Giữ lại giá trị setter nhuận ảo.
- Trực tiếp đặt đối tượng lồng nhau tại ghi đè lên toàn bộ đối tượng (trước đây là không đúng sáp nhập chúng).
- Nhập:
- Đọc hỗ trợ pref (MongoDB 2.2).
- Hỗ trợ tổng hợp (MongoDB 2.2).
- ảo {g, s} Etter mẫn.
- Cập nhật:
- Tài liệu.
- Driver để 1.1.5.
Điều gì là mới trong phiên bản 3.0.1:
- Cố định:
- Lỗi chính tả trong EmbeddedDocument # parentArray
- mongoose.SchemaTypes bí danh
- Cập nhật:
- Documents
Điều gì là mới trong phiên bản 3.0.0:
- Gỡ bỏ:
- Old subdocument # cam kết phương pháp.
- Cố định:
- Thiết mảng của tài liệu phù hợp.
- doc! Loại bỏ sự kiện tại phát ra trong tiết kiệm tự như tiết kiệm cho nhất quán.
- Pre-tiết kiệm móc không còn nổ súng vào các tài liệu phụ khi xác nhận không.
Điều gì là mới trong phiên bản 3.0.0 alpha2:
- Thay đổi:
- lỗi Index đang phát ra trên mô hình của họ và thông qua một cuộc gọi lại tùy chọn.
- Cố định:
- Xác định chỉ số cùng với thưa thớt tùy chọn / độc đáo không còn ghi đè.
- Không bao giờ nuốt lỗi kết nối.
- Ngừng xác nhận cần thiết của không thay đổi / lĩnh vực không được chọn.
- Document # bằng hành vi của objectids.
- Hãy tôn kính tùy chọn giảm thiểu giản đồ.
- Cung cấp các thông điệp lỗi hữu ích khi con đường giản đồ dự trữ được sử dụng.
- Gọi lại để conn # ngắt kết nối là tùy chọn.
- Xử lý thiếu giao thức trong URL kết nối.
- Nhập:
- Hỗ trợ cho nhãn hiệu tạo chỉ mục.
- Hỗ trợ cho người khuyết tật tự động lập chỉ mục.
- Hỗ trợ cho việc bảo tồn MongooseArray thay đổi # loại.
- Emit thay đổi trạng thái kết nối.
- Hỗ trợ cho việc xác định BSON kiểu phụ trong MongooseBuffer # toObject.
- Hỗ trợ cho versioning tàn tật.
sự kiện
Yêu cầu :
- MongoDB 1.0.2 hoặc cao hơn
- Node.js 0.4 hoặc cao hơn
Bình luận không