0% found this document useful (0 votes)
24 views17 pages

Lecture 7 FS

Uploaded by

๖OxY乛 RÆZOR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views17 pages

Lecture 7 FS

Uploaded by

๖OxY乛 RÆZOR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Full Stack Development

(IT432)

Anju Mishra
Department of Information Technology

1
Module III- Introduction to MongoDB

Topic Name- Document , Collection, Database and data types

Subtopic Name: Document , Collection, Database and data types

Learning Objectives: To understand the concept of MongoDB Document , Collection, Database and data types
Learning Outcomes: Students will be able to recognize various MongoDB Document , Collection, Database
and data types

2
Outline
 Document
 Collection
 Database
 Data Types
 MongoDB Shell
 Need
 Basic Operations
Q & A

3
MongoDB - Documents
 At the heart of MongoDB is the document, It is an ordered set of keys with
associated values. Represented via data structure that is a natural fit, such as a map,
hash, or dictionary
 In JavaScript, for example, documents are represented as objects:

{"greeting" : "Hello, world!"}

 This simple document contains a single key, "greeting", with a value of "Hello,
world!“

{"greeting" : "Hello, world!", "foo" : 3}

 In this example the value for "greeting" is a string, whereas the value for "foo" is an
integer 4
MongoDB - Documents – continues…
 The keys in a document are strings. Any UTF-8 character is allowed in a key, with a
few notable exceptions:

• Keys must not contain the character \0 (the null character). This character is used
to signify the end of a key.
• The . and $ characters have some special properties and should be used only in
certain circumstances.

 MongoDB is type-sensitive and case-sensitive. For example, these documents are


distinct:
{"foo" : 3} {"foo" : "3"} and {"foo" : 3} {"Foo" : 3}

5
MongoDB - Documents continues…
 Documents in MongoDB cannot contain duplicate keys.
 For example, the following is not a legal document:

{"greeting" : "Hello, world!", "greeting" : "Hello, MongoDB!"}

 Key/value pairs in documents are ordered:

{"x" : 1, "y" : 2} is not the same as {"y" : 2, "x" : 1}.

 Field order does not usually matter and you should not design your schema to
depend on a certain ordering of fields (MongoDB may reorder them).

6
MongoDB - Collections
 A collection is a group of documents. If a document is the MongoDB analog of a
row in a relational database, then a collection can be thought of as the analog to a
table
 Dynamic Schemas - Collections have dynamic schemas. This means that the
documents within a single collection can have any number of different “shapes.”

{"greeting" : "Hello, world!"} {"foo" : 5}

 Keeping different kinds of documents in the same collection can be a nightmare for developers
and admins.
 It is much faster to get a list of collections than to extract a list of the types in a collection.
 Grouping documents of the same kind together in the same collection allows for data locality.
 We begin to impose some structure on our documents when we create indexes.

7
MongoDB - Collections continues…
 Naming - A collection is identified by its name. Collection names can be any UTF-8
string, with a few restrictions:
• The empty string ("") is not a valid collection name.
• Collection names may not contain the character \0 (the null character) because
this delineates the end of a collection name.
• You should not create any collections that start with system., a prefix reserved
for internal collections. For example, the system.users collection contains the
database’s users, and the system.namespaces collection contains information
about all of the database’s collections.
• User-created collections should not contain the reserved character $ in the name.
The various drivers available for the database do support using $ in collection
names because some system-generated collections contain it.

8
MongoDB - Collections - Subcollections
 One convention for organizing collections is to use namespaced subcollections
separated by the . character.
 For example, an application containing a blog might have a collection named
blog.posts and a separate collection named blog.authors.
 Although subcollections do not have any special properties, they are useful and
incorporated into many MongoDB tools:
 GridFS, a protocol for storing large files, uses subcollections to store file metadata
separately from content chunks
 Most drivers provide some syntactic sugar for accessing a subcollection of a given
collection.
 For example, in the database shell, db.blog will give you the blog collection, and
db.blog.posts will give you the blog.posts collection. Subcollections are a great way
to organize data in MongoDB, and their use is highly recommended.
9
Database
 In addition to grouping documents by collection,
MongoDB groups collections into databases.
 A single instance of MongoDB can host several
databases, each grouping together zero or more
collections.
 A database has its own permissions, and each
database is stored in separate files on disk.
 A good rule of thumb is to store all data for a
single application in the same database.
 Separate databases are useful when storing data
for several application or users on the same
MongoDB server.
10
Database continues…
 Like collections, databases are identified by name. Database names can be any UTF-8
string, with the following restrictions:
 The empty string ("") is not a valid database name.
 A database name cannot contain any of these characters: /, \, ., ", *, <, >, :, |, ?, $, (a
single space), or \0 (the null character). Basically, stick with alphanumeric ASCII.
 Database names are case-sensitive, even on non-case-sensitive filesystems. To keep
things simple, try to just use lowercase characters.
 Database names are limited to a maximum of 64 bytes. There are also several reserved
database names, which you can access but which have special semantics.
 admin This is the “root” database, in terms of authentication.
 local This database will never be replicated and can be used to store any collections that should be
local to a single server
 config When MongoDB is being used in a sharded setup, it uses the config database to store
information about the shards.
11
Getting and Starting MongoDB
 MongoDB is almost always run as a network server that clients can connect to and perform operations
on.
 Download MongoDB and decompress it. To start the server, run the mongod executable:

$ mongod

 When run with no arguments, mongod will use the default data directory, /data/db/ (or \data\db\ on the
current volume on Windows).
 If the data directory does not already exist or is not writable, the server will fail to start.
 On startup, the server will print some version and system information and then begin waiting for
connections. By default MongoDB listens for socket connections on port 27017.
 The server will fail to start if the port is not available—the most common cause of this is another
instance of MongoDB that is already running.
 mongod also sets up a very basic HTTP server that listens on a port 1,000 higher than the main port, in
this case 28017. This means that you can get some administrative information about your database by
opening a web browser and going to http://local host:28017.
 You can safely stop mongod by typing Ctrl-C in the shell that is running the server. 12
MongoDB Shell
 MongoDB comes with a JavaScript shell that allows interaction with a MongoDB
instance from the command line.
 The shell is useful for performing administrative functions, inspecting a running
instance, or just playing around. The mongo shell is a crucial tool for using
MongoDB and is used extensively throughout the rest of the text.
 To start the shell, run the mongo executable:

$ mongo
MongoDB shell version: 2.4.0
connecting to: test
>
13
MongoDB Client
 Although the ability to execute arbitrary JavaScript is cool, the real power of the
shell lies in the fact that it is also a standalone MongoDB client.

 On startup, the shell connects to the test database on a MongoDB server.

 For instance, one of the most important operations is selecting which database to
use:
> use foobar
switched to db foobar

14
Data Types Basic Data Types
 Null
 Boolean
 Number
 String
 Date
 Regular expression
 Array
 Binary data
 Code
Array
Embedded document
_id and ObjectIds
15
Q&A
• Define MongoDB document and collection?

• Discuss the rules for key on documents?

• Why do you mean by dynamic schema?

• Discuss various data types of MongoDB?

16
Learning Outcome
 At the end of this session, you will be able to
 Understand the basics of AJAX
 Understand different request and response methods.

17

You might also like