SốInt MongoDB

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 .

    SốInt MongoDB

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ác công ty WHERE 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, BinData0 và BinData1. 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ụ: BinData2 hoặc BinData3). 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 BinData4

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ụ: BinData5 sẽ không hoạt động

    Trong 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 BinData6. Mặt khác, chúng không tổng hợp

    Trong 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ụ: BinData7)

  • 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

    SốInt 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

    SốInt MongoDB

Hạn chế

  • Các cột có thể có bí danh. Bí danh không được chứa dấu chấm (MD52)

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ệ

    SốInt MongoDB

Hạn chế

  • Bí danh không được chứa dấu chấm (MD52)

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

    SốInt MongoDB
  • Bạn có thể sử dụng toán tử BinData9 hoặc BinData8 trong điều kiện BẬT

  • Nhiều mệnh đề THAM GIA được hỗ trợ

    SốInt MongoDB

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

    SốInt MongoDB

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

NumberInt trong MongoDB là gì?

SốInt. Shell mongo coi tất cả các số là giá trị dấu phẩy động theo mặc định. Shell mongo cung cấp hàm tạo NumberInt() để chỉ định rõ ràng các số nguyên 32 bit .

Làm cách nào để kiểm tra loại dữ liệu trong MongoDB?

Như đã mô tả ở trên, toán tử $type hoạt động trên loại BSON trong MongoDB và nó cung cấp hai mã định danh cho mỗi loại BSON; . Chẳng hạn, để định vị kiểu dữ liệu Double, người ta có thể sử dụng giá trị số nguyên “1” và chuỗi “double” để định vị kiểu dữ liệu Double trong trường được chỉ định.

Làm cách nào để chuyển đổi chuỗi thành số trong truy vấn MongoDB?

Ba điều cần quan tâm. .
parseInt() sẽ lưu trữ kiểu dữ liệu kép trong mongodb. Vui lòng sử dụng NumberInt mới (chuỗi)
trong lệnh shell Mongo để sử dụng hàng loạt, năng suất sẽ không hoạt động. Vui lòng KHÔNG thêm 'năng suất'
Nếu bạn đã thay đổi chuỗi thành gấp đôi bằng parseInt(). Có vẻ như bạn không có cách nào để thay đổi trực tiếp loại thành int

Làm cách nào để xác định kiểu dữ liệu trong MongoDB?

ASP. NET Core 3 MVC với MongoDB .
Chuỗi - Đây là kiểu dữ liệu được sử dụng phổ biến nhất để lưu trữ dữ liệu. .
Số nguyên - Loại này được sử dụng để lưu trữ một giá trị số. .
Boolean - Loại này được sử dụng để lưu trữ giá trị boolean (true/false)
Double - Loại này được sử dụng để lưu trữ các giá trị dấu chấm động