Tài liệu liên kết truy vấn mongodb

_id – Là trường bắt buộc có trong mỗi tài liệu. Trường _id đại diện cho một giá trị duy nhất trong tài liệu MongoDB. Trường _id cũng có thể được hiểu là khóa chính trong tài liệu. Nếu bạn thêm một tài liệu mới thì MongoDB sẽ tự động sinh ra một _id đại diện cho tài liệu đó và là duy nhất trong cơ sở dữ liệu MongoDB

  • Bộ sưu tập – Là nhóm của nhiều tài liệu trong MongoDB. Bộ sưu tập có thể được hiểu là một bảng tương ứng trong cơ sở dữ liệu RDBMS (Hệ thống quản lý cơ sở dữ liệu quan hệ). Bộ sưu tập nằm trong một cơ sở dữ liệu duy nhất. Các bộ sưu tập không được định nghĩa các cột, hàng hay kiểu dữ liệu trước

  • Con trỏ – Đây là con trỏ đến kết quả của tập tin truy vấn. Máy khách có thể lặp qua một con trỏ để lấy kết quả

  • Cơ sở dữ liệu – Nơi chứa các Bộ sưu tập, giống như cơ sở dữ liệu RDMS chúng chứa các bảng. Mỗi cơ sở dữ liệu có một tệp lưu trữ riêng trên bộ nhớ vật lý. Một vài chủ MongoDB có thể chứa nhiều Cơ sở dữ liệu

  • Tài liệu – Một bản ghi thuộc một Bộ sưu tập thì được gọi là Tài liệu. The Document time bao gồm các tên trường và giá trị

  • Trường – Là một cặp tên – giá trị trong một tài liệu. Một tài liệu có thể không có hoặc nhiều trường. Các trường giống các cột trong hệ thống cơ sở dữ liệu

  • JSON – Viết tắt của JavaScript Object Notation. Con người có thể đọc được ở định dạng văn bản đơn giản có thể hiển thị cho các dữ liệu có cấu trúc. Hiện tại JSON đang hỗ trợ rất nhiều ngôn ngữ lập trình

  • Index – Là những cấu trúc dữ liệu đặc biệt, được sử dụng để chứa một phần nhỏ của các tập tin dữ liệu một cách dễ dàng để quét. Chỉ số lưu trữ giá trị của một trường cụ thể hoặc thiết lập các trường, sắp xếp theo giá trị của các trường này. Index hỗ trợ phân tích một cách hiệu quả các truy vấn. Nếu không có mục duy nhất, MongoDB sẽ phải quét tất cả các tài liệu của bộ sưu tập để chọn ra những tài liệu phù hợp với câu hỏi. Quá trình quét này không hiệu quả và yêu cầu MongoDB xử lý một khối dữ liệu lớn

  • Hãy lưu ý khác biệt của các trường và _id trong một tài liệu. Một _id được sử dụng để đại diện cho một tài liệu và chúng được sinh ra khi thêm một Tài liệu vào Bộ sưu tập

    3. So sánh giữa RDBMS (Hệ quản trị cơ sở dữ liệu quan hệ) và MongoDB

    RDBMS. MongoDB. . --------. --------. . cơ sở dữ liệu. cơ sở dữ liệu. . Bàn. Bộ sưu tập. . Tuple/Hàng. Tài liệu. Cột. Tham gia bảng trường. Tài liệu nhúng Khóa chính. Khóa chính (default is _id)

    Ví dụ cho Embedded Documents

    _id: ObjectId("5099803df3f4948bd2f98391"), 
    name: { first: "Alan", last: "Turing" }, 
    contact: { phone: { type: "cell", number: "111-222-3333" } }, 
    }
    

    To only field last in field name, ta used “name. last” To only number in phone which phone back is in field contact, ta used “contact. điện thoại. số"

    (*) key _id is do hệ thống tự tạo ra để làm từ khóa chính

    4. Các kiểu dữ liệu trong MongoDB

    MongoDB supports after data type

    TypeNumberAliasDouble1“double”String2“string”Object3“object”Array4“array”Dữ liệu nhị phân5“binData”Undefined6“undefined”ObjectId7“objectId”Boolean8“bool”Date9“date”Null10“null”Regular Expression11“regex”DBPulum12“dbPulum”
    • chuỗi. Đây là kiểu dữ liệu được sử dụng biến phổ biến nhất để lưu giữ dữ liệu. Chuỗi trong MongoDB phải là UTF-8 hợp lệ
    • integer. Kiểu dữ liệu này được sử dụng để lưu một số giá trị. Số nguyên có thể là 32 bit hoặc 64 bit phụ thuộc vào Máy chủ của bạn
    • Boolean. Kiểu dữ liệu này được sử dụng để lưu giữ một giá trị Boolean (true/false)
    • Gấp đôi. Kiểu dữ liệu này được sử dụng để lưu các giá trị thực của dấu chấm động
    • Phím tối thiểu/tối đa. Kiểu dữ liệu này được sử dụng để so sánh một giá trị với các phần tử BSON thấp nhất và cao nhất
    • Mảng. Kiểu dữ liệu này được sử dụng để lưu giữ các mảng hoặc danh sách hoặc nhiều giá trị trong một khóa
    • Dấu thời gian. Đánh dấu thời điểm một Tài liệu đã được sửa đổi hoặc được thêm vào
    • Mục tiêu. Kiểu dữ liệu này được sử dụng cho các Tài liệu được nhúng vào
    • Vô giá trị. This data type is used to save a Null value
    • Biểu tượng. Kiểu dữ liệu này được sử dụng giống như một chuỗi
    • Ngày. Kiểu dữ liệu này được sử dụng để lưu giữ ngày và giờ hiện tại trong định dạng thời gian UNIX
    • ID đối tượng. Kiểu dữ liệu này được sử dụng để lưu giữ ID của Tài liệu
    • Dữ liệu nhị phân. This data type is used to save the binary data
    • Mã số. Kiểu dữ liệu này được sử dụng để lưu giữ mã JavaScrip trong Tài liệu
    • Biểu hiện thông thường. This data type are used to save the Regular Expresion

    Ví dụ. Dữ liệu của bộ sưu tập bao gồm 2 tài liệu MinKey và MaxKey. { "_id" : 1, x : { "$minKey" : 1 } } { "_id" : 2, y : { "$maxKey" : 1 } }

    Câu lệnh truy vấn sau sẽ cho kết quả là một tài liệu có _id. 1

    db.data.find( { x: { $type: "minKey" } } )
    

    or could write

    db.data.find( { x: { $type: "-1" } } )
    

    (*) https. // tài liệu. mongodb. com/thủ công/tham chiếu/toán tử/truy vấn/loại/

    5. Một số câu lệnh được sử dụng trong MongoDB

    Câu lệnhSQLMongoDBCreate tableCREATE TABLE people (id MEDIUMINT NOT NULL AUTO_INCREMENT, user_id Varchar(30), age Number, status char(1), PRIMARY KEY (id))db.people.insertOne({User_id: “abc123”, Age: 55, Status: “A”})Drop table
    db.data.find( { x: { $type: "minKey" } } )
    
    0
    db.data.find( { x: { $type: "minKey" } } )
    
    1Insert records into tables
    db.data.find( { x: { $type: "minKey" } } )
    
    2
    db.data.find( { x: { $type: "minKey" } } )
    
    3Select
    db.data.find( { x: { $type: "minKey" } } )
    
    4
    db.data.find( { x: { $type: "minKey" } } )
    
    5
    db.data.find( { x: { $type: "minKey" } } )
    
    6
    db.data.find( { x: { $type: "minKey" } } )
    
    7
    db.data.find( { x: { $type: "minKey" } } )
    
    8
    db.data.find( { x: { $type: "minKey" } } )
    
    9
    db.data.find( { x: { $type: "-1" } } )
    
    0
    db.data.find( { x: { $type: "-1" } } )
    
    1
    db.data.find( { x: { $type: "-1" } } )
    
    2
    db.data.find( { x: { $type: "-1" } } )
    
    3
    db.data.find( { x: { $type: "-1" } } )
    
    4
    db.data.find( { x: { $type: "-1" } } )
    
    5
    db.data.find( { x: { $type: "-1" } } )
    
    6
    db.data.find( { x: { $type: "-1" } } )
    
    7
    db.data.find( { x: { $type: "-1" } } )
    
    8
    db.data.find( { x: { $type: "-1" } } )
    
    9Update records
    _id: ObjectId("5099803df3f4948bd2f98391"), 
    name: { first: "Alan", last: "Turing" }, 
    contact: { phone: { type: "cell", number: "111-222-3333" } }, 
    }
    
    0
    _id: ObjectId("5099803df3f4948bd2f98391"), 
    name: { first: "Alan", last: "Turing" }, 
    contact: { phone: { type: "cell", number: "111-222-3333" } }, 
    }
    
    1
    _id: ObjectId("5099803df3f4948bd2f98391"), 
    name: { first: "Alan", last: "Turing" }, 
    contact: { phone: { type: "cell", number: "111-222-3333" } }, 
    }
    
    2
    _id: ObjectId("5099803df3f4948bd2f98391"), 
    name: { first: "Alan", last: "Turing" }, 
    contact: { phone: { type: "cell", number: "111-222-3333" } }, 
    }
    
    3Delete Records
    _id: ObjectId("5099803df3f4948bd2f98391"), 
    name: { first: "Alan", last: "Turing" }, 
    contact: { phone: { type: "cell", number: "111-222-3333" } }, 
    }
    
    4
    _id: ObjectId("5099803df3f4948bd2f98391"), 
    name: { first: "Alan", last: "Turing" }, 
    contact: { phone: { type: "cell", number: "111-222-3333" } }, 
    }
    
    5
    _id: ObjectId("5099803df3f4948bd2f98391"), 
    name: { first: "Alan", last: "Turing" }, 
    contact: { phone: { type: "cell", number: "111-222-3333" } }, 
    }
    
    6
    _id: ObjectId("5099803df3f4948bd2f98391"), 
    name: { first: "Alan", last: "Turing" }, 
    contact: { phone: { type: "cell", number: "111-222-3333" } }, 
    }
    
    7

    6. MongoDB hoạt động như thế nào

    Tài liệu liên kết truy vấn mongodb

    • MongoDB hoạt động dưới một dịch vụ tiến trình dừng, luôn mở một cổng (Cổng mặc định là 27017) để lắng nghe các yêu cầu truy vấn, thao tác từ các ứng dụng xử lý gửi vào sau đó mới tiến hành lý
    • Mỗi bản ghi của MongoDB được tự động gắn thêm một trường có tên “_id” thuộc kiểu dữ liệu ObjectId mà nó quy định để xác định tính duy nhất của bản ghi này vì vậy với các bản ghi khác, cũng như phục vụ các thao tác . Trường dữ liệu “_id” luôn được tự động đánh chỉ mục (chỉ mục) để tốc độ truy vấn thông tin đạt hiệu suất cao nhất
    • Mỗi khi có một truy vấn dữ liệu, bản ghi được cache (ghi đệm) lên bộ nhớ Ram, để phục vụ truy vấn sau diễn ra nhanh hơn mà không cần phải đọc từ ổ cứng
    • Khi có yêu cầu bổ sung/sửa/xóa bản ghi, để đảm bảo hiệu suất của ứng dụng mặc định MongoDB sẽ không cập nhật xuống ổ cứng ngay, mà sau 60 giây MongoDB mới thực hiện ghi toàn bộ dữ liệu thay đổi từ RAM xuống

    Từ đây có thể nhìn thấy nhược điểm của Mongodb như sau

    • Dữ liệu được lưu vào bộ nhớ đệm, lấy RAM làm hoạt động quan trọng vì vậy khi hoạt động yêu cầu bộ nhớ RAM lớn
    • Như đã giới thiệu ở trên, mọi thay đổi về dữ liệu mặc định đều chưa được ghi xuống ổ cứng ngay lập tức vì vậy khả năng mất dữ liệu từ nguyên nhân mất điện đột xuất là rất cao

    7. Loi thế của MongoDB

    • Ít lược đồ hơn. Vì lược đồ được sinh ra là để nhóm các đối tượng thành 1 cụm nên dễ quản lý. Ví dụ như tạo 1 lược đồ tên là Sinh viên không có giới hạn thì chỉ có những gì liên quan đến sinh viên thì mới được cho vào lược đồ này. Trong khi đó trong mongodb thì chỉ 1 collection ta có thể chứa nhiều document khác nhau. With each document, the field number, content, renumerables could other nhau.
      Tài liệu liên kết truy vấn mongodb
    • Cấu trúc của một đối tượng rõ ràng
    • Không có các phức hợp Join
    • Khả năng mở rộng cực lớn. việc mở rộng dữ liệu mà không cần quan tâm đến các vấn đề như từ khóa ngoại, từ khóa chính, kiểm tra ràng buộc,. MongoDB cho phép thực hiện nhân rộng và sharding nên việc mở rộng cũng thuận lợi hơn.
      Tài liệu liên kết truy vấn mongodb
    • Sử dụng bộ nhớ trong để lưu giữ cửa sổ làm việc cho phép truy cập dữ liệu nhanh hơn. Việc cập nhật được thực hiện nhanh chóng nhờ cập nhật tại chỗ (tại chỗ).
      Tài liệu liên kết truy vấn mongodb

    8. Khi NÊN nào sử dụng MongoDB ?

    Sử dụng MongoDB trong trường hợp

    • Nếu trang web của bạn có tính chất INSERT cao By vì mặc định MongoDB có sẵn cơ chế ghi với tốc độ cao và an toàn. Trang web của bạn ở dạng thời gian thực hiện nhiều, có nghĩa là nhiều người thao tác với ứng dụng. Nếu trong quá trình tải bị lỗi tại một điểm nào đó, nó sẽ bỏ qua phần đó và sẽ an toàn

    • Website bạn có nhiều dữ liệu quá Giả sử web bạn có tới 10 triệu bản ghi thì đó là cơn ác mộng với MYSQL. By because MongoDB có khả năng tìm kiếm thông tin liên quan cũng khá nhanh nên trường hợp này nên sử dụng nó