Trong MongoDB, để thao tác dữ liệu hoặc thực hiện các thao tác khác, bạn viết các tập lệnh cho trình bao mongo trong JavaScript. Đối với các nhà phát triển truy vấn dữ liệu chủ yếu bằng SQL, cũng có thể hữu ích khi sử dụng SQL cho các bộ sưu tập MongoDB. DataGrip sẽ dịch các truy vấn SQL của bạn sang JavaScript
Xem bản dịch JavaScript cho truy vấn SQL
Nhấp chuột phải vào truy vấn và chọn Hiển thị tập lệnh JS . Để sao chép mã JavaScript vào khay nhớ tạm, hãy nhấp vào Sao chép tập lệnh JS vào khay nhớ tạm .
Bạn có thể thay đổi và chạy tập lệnh từ Bản xem trước tập lệnh JS .
Loại dữ liệu
DataGrip hỗ trợ các loại dữ liệu sau
Chuỗi, Số nguyên, Float, Boolean
NULL, NAN, VÔ CÙNG
Mảng [______0] và bản đồ [
{a: 1, b: 2, c: 3}
]
Mảng và bản đồ có thể bao gồm bất kỳ biểu thức nào
CHỌN [1, 3 + 1 - 2, giá] AS phần tử TỪ bán hàng; . 1 + 2, b. NULL, c. SAI, d. [1, 2]} TỪ bán hàng;
Bạn có thể sử dụng chuỗi ký tự trong dấu ngoặc kép đơn hoặc kép
Viết tên cột mà không có dấu ngoặc kép hoặc sử dụng dấu trọng âm [`
]
CHỌN _id, `acquisitions`, `category_code`, `description`, email_address, phone_number TỪ công ty Ở ĐÂU category_code = 'xã hội' VÀ description = "Hẹn hò trên thiết bị di động";
Trình tạo đối tượng
Bạn có thể sử dụng các hàm tạo đối tượng sau. _______3, _______4, _______, _______6, _______, _______8, _______, __10, __11, __12, __13, __14, __15, __16, __17, _______18
Bạn có thể sử dụng hoặc bỏ qua từ khóa {a: 1, b: 2, c: 3}
9. DataGrip sẽ tự động thêm từ khóa {a: 1, b: 2, c: 3}
9 vào truy vấn MongoDB. Tính năng này không áp dụng cho hàm tạo đối tượng Date
vì sự khác biệt giữa `
2 `
3. `
2 trả về ngày hiện tại dưới dạng chuỗi và `
3 dưới dạng đối tượng Ngày
Nếu tên hàm không xác định, DataGrip sẽ tìm kiếm từ khóa {a: 1, b: 2, c: 3}
9 trước tên hàm. Nếu có từ khóa {a: 1, b: 2, c: 3}
9, tên được coi là một hàm tạo đối tượng. Mặt khác, như một lời gọi hàm. Ví dụ: truy vấn sau
SELECT new UnknownTypeConstructor[] AS A, new NumberInt[] AS B, NumberInt[1] AS C TỪ các công ty;
sẽ được dịch sang
db. getSiblingDB["quản trị viên"]. getCollection["các công ty"]. tổng hợp[[ { $project. {"MỘT". {$nghĩa đen. new UnknownTypeConstructor[]}, "B". {$nghĩa đen. NumberInt[]} mới, "C". {$nghĩa đen. NumberInt mới[1]}, "_id". 0} } ]]
Chức năng
Bạn có thể sử dụng tất cả các toán tử đường dẫn tổng hợp MongoDB có sẵn ngoại trừ `
8, `
9, BinData
0 và BinData
1. Ngoài ra, bạn có thể sử dụng COUNT[*] nhưng không sử dụng COUNT [biểu thức] chưa được hỗ trợ
Trong MongoDB, một số chức năng yêu cầu đối số được đặt tên. Để sử dụng các đối số được đặt tên, hãy sử dụng cú pháp giống như PostgreSQL cho các tham số được đặt tên [ví dụ: BinData
2 hoặc BinData
3]. Bạn sẽ gặp lỗi nếu không chỉ định tên cho các hàm được tham số hóa. Xem xét ví dụ sau cho hàm BinData
4
CHỌN dateToString[ngày => ISODate[], định dạng. = '%H. %M. %S. %L%z', múi giờ => 'Châu Âu/London'] NHƯ 'Ngày' TỪ các công ty;
Bạn có thể xem danh sách tất cả các toán tử đường ống hỗ trợ các tham số được đặt tên trong Toán tử đường ống tổng hợp tại tài liệu. mongodb. com
Hạn chế
Do các cách tiếp cận khác nhau đối với các hàm tổng hợp trong SQL và MongoDB, bạn không thể sử dụng các hàm tổng hợp, chẳng hạn như AVG, SUM, MIN và MAX, dưới dạng không tổng hợp. Ví dụ:
BinData
5 sẽ không hoạt độngTrong MongoDB, các hàm như AVG, SUM, MIN và MAX có thể là tổng hợp và không tổng hợp. Chúng là tổng hợp nếu chúng được đặt trong khối
BinData
6. Mặt khác, chúng không tổng hợpTrong SQL, không có sự phụ thuộc như vậy và bạn có thể sử dụng các hàm tổng hợp mà không cần mệnh đề GROUP BY [ví dụ:
BinData
7]Bạn không thể gọi các hàm tổng hợp trong các hàm tổng hợp khác
nhà điều hành
Hiện tại, chức năng sau được hỗ trợ
Toán hạng. _______38, _______39, _______40, _______41, _______42, _______43, _______44, _______45, _______46, _______47, _______48, _______49, _______50, _______51, _______52, _______53, _______54, _______55, _______56, _______57, _______58, _______59, _______60, _______61
Bạn có thể sử dụng ký tự đại diện cho toán tử THÍCH. Các ký tự đại diện này được dịch thành một biểu thức chính quy hợp lệ cho MongoDB
mệnh đề SQL
LỰA CHỌN
Các tính năng sau đây được hỗ trợ cho các truy vấn CHỌN
Tùy chọn. KHÁC BIỆT, TẤT CẢ
Hàm tổng hợp và không tổng hợp
Truy cập vào các trường nhúng bằng cách sử dụng tên chấm. Xem xét ví dụ sau
Hạn chế
Các cột có thể có bí danh. Bí danh không được chứa dấu chấm [
MD5
2]
TỪ
Bạn có thể sử dụng bí danh cho các bảng
Bạn phải sử dụng bí danh cho câu lệnh CHỌN lồng nhau
Bạn có thể sử dụng các truy vấn CHỌN lồng nhau. Ví dụ: truy vấn sau đây là hợp lệ
Hạn chế
Bí danh không được chứa dấu chấm [
MD5
2]
THAM GIA
Chỉ hỗ trợ THAM GIA [INNER THAM GIA] và THAM GIA TRÁI [LEFT OUTER JOIN]
Chỉ hỗ trợ điều kiện BẬT
Chỉ có một điều kiện trong phần BẬT. Truy vấn sau đây sẽ dẫn đến lỗi
Bạn có thể sử dụng toán tử
BinData
9 hoặcBinData
8 trong điều kiện BẬTNhiều mệnh đề THAM GIA được hỗ trợ
Hạn chế
SỬ DỤNG không được hỗ trợ
Bạn không thể sử dụng câu lệnh CHỌN làm đối số thứ hai trong mệnh đề THAM GIA
Tên bảng và bí danh không được trùng lặp trong mệnh đề THAM GIA
Ở ĐÂU
THÍCH và KHÔNG THÍCH yêu cầu một chuỗi ký tự. Các truy vấn sau dẫn đến lỗi
NHÓM THEO
DataGrip hỗ trợ mệnh đề GROUP BY
Mệnh đề SELECT có thể bao gồm các biểu thức có chức năng phụ thuộc vào các biểu thức trong mệnh đề GROUP BY. Bạn có thể sử dụng các trường nhúng của một cột trong mệnh đề SELECT nếu cột đó được sử dụng trong mệnh đề GROUP BY