I am trying to test out mongoDB and see if it is anything for me. I downloaded the 32bit windows version, but have no idea on how to continue from now on.
I normally
WAMP = Windows + Apache + MySQL/MariaDB + PHP/Python/Perl
You can't use MongoDB in wamp.You need to install MongoDB separately
Step by Step Solution for windows 32 bit
E:\mongodb\bin
and after that write in console
mongod --dbpath E:\data
it will link.db.test.save({Field:'Hello mongodb'})
this command
will insert the a field having name Field and its value Hello
mongodb.db.test.find()
and press enter you will find
the record that you have recently entered.You might want to check https://github.com/Thor1Khan/mongo.git it uses a minimal workaround the 32 bit atomic operations on 64 bits operands (could use assembly but it doesn't seem to be mandatory here) Only digital bugs were harmed before committing
1) Go to Mongo DB download center https://www.mongodb.com/download-center#community and pick a flavor of MongoDB you want to install. You can pick from
To know your OS version run this command in cmd prompt
wmic os get caption
To know your CPU architecture(32 or 64 bit) run this command in cmd prompt
wmic os get osarchitecture
I am using Community version (150MBs- GNU license)
2) Click on MSI and go through installation Process. Exe will install MongoDb and SSL required by the DB.
Mongo DB should be installed on your C drive
C:\Program Files\MongoDB
MongoDB is self-contained, it means and does not have any other system dependencies. If you are low on disk in C drive then you can run MongoDB from any folder you choose.
You can now run mongodb.exe from bin folder. If you get Visual C++ error for missing dlls then download Visual C++ Redistributable from
https://www.microsoft.com/en-in/download/details.aspx?id=48145
After installation, try to rerun mongo.exe.
Pretty good documentation is provided on the MongoDB website
Install MongoDB
Determine which MongoDB build you need.
There are three builds of MongoDB for Windows:
MongoDB for Windows Server 2008 R2 edition (i.e. 2008R2) runs only on Windows Server 2008 R2, Windows 7 64-bit, and newer versions of Windows. This build takes advantage of recent enhancements to the Windows Platform and cannot operate on older versions of Windows.
MongoDB for Windows 64-bit runs on any 64-bit version of Windows newer than Windows XP, including Windows Server 2008 R2 and Windows 7 64-bit.
MongoDB for Windows 32-bit runs on any 32-bit version of Windows newer than Windows XP. 32-bit versions of MongoDB are only intended for older systems and for use in testing and development systems. 32-bit versions of MongoDB only support databases smaller than 2GB.
To find which version of Windows you are running, enter the following command in the Command Prompt:
wmic os get osarchitecture
Download MongoDB for Windows.
Download the latest production release of MongoDB from the MongoDB downloads page. Ensure you download the correct version of MongoDB for your Windows system. The 64-bit versions of MongoDB does not work with 32-bit Windows.
Install the downloaded file.
In Windows Explorer, locate the downloaded MongoDB msi file, which typically is located in the default Downloads folder. Double-click the msi file. A set of screens will appear to guide you through the installation process.
Move the MongoDB folder to another location (optional).
To move the MongoDB folder, you must issue the move command as an Administrator. For example, to move the folder to C:\mongodb:
Select Start Menu > All Programs > Accessories.
Right-click Command Prompt and select Run as Administrator from the popup menu.
Issue the following commands:
cd \ move C:\mongodb-win32-* C:\mongodb
MongoDB is self-contained and does not have any other system dependencies. You can run MongoDB from any folder you choose. You may install MongoDB in any folder (e.g.
D:\test\mongodb
)Run MongoDB
Warning:
Do not make
mongod.exe
visible on public networks without running in “Secure Mode” with the auth setting. MongoDB is designed to be run in trusted environments, and the database does not enable “Secure Mode” by default.
Set up the MongoDB environment.
MongoDB requires a data directory to store all data. MongoDB’s default data directory path is \data\db. Create this folder using the following commands from a Command Prompt:
md \data\db
You can specify an alternate path for data files using the
--dbpath
option tomongod.exe
, for example:C:\mongodb\bin\mongod.exe --dbpath d:\test\mongodb\data
If your path includes spaces, enclose the entire path in double quotes, for example:
C:\mongodb\bin\mongod.exe --dbpath "d:\test\mongo db data"
Start MongoDB.
To start MongoDB, run
mongod.exe
. For example, from the Command Prompt:C:\Program Files\MongoDB\bin\mongod.exe
This starts the main MongoDB database process. The waiting for connections message in the console output indicates that the mongod.exe process is running successfully.
Depending on the security level of your system, Windows may pop up a Security Alert dialog box about blocking “some features” of C:\Program Files\MongoDB\bin\mongod.exe from communicating on networks. All users should select Private Networks, such as my home or work network and click Allow access. For additional information on security and MongoDB, please see the Security Documentation.
Connect to MongoDB.
To connect to MongoDB through the mongo.exe shell, open another Command Prompt. When connecting, specify the data directory if necessary. This step provides several example connection commands.
If your MongoDB installation uses the default data directory, connect without specifying the data directory:
C:\mongodb\bin\mongo.exe
If you installation uses a different data directory, specify the directory when connecting, as in this example:
C:\mongodb\bin\mongod.exe --dbpath d:\test\mongodb\data
If your path includes spaces, enclose the entire path in double quotes. For example:
C:\mongodb\bin\mongod.exe --dbpath "d:\test\mongo db data"
If you want to develop applications using .NET, see the documentation of C# and MongoDB for more information.
Begin using MongoDB.
To begin using MongoDB, see Getting Started with MongoDB. Also consider the Production Notes document before deploying MongoDB in a production environment.
Later, to stop MongoDB, press Control+C in the terminal where the mongod instance is running.
Configure a Windows Service for MongoDB
Note:
There is a known issue for MongoDB 2.6.0, SERVER-13515, which prevents the use of the instructions in this section. For MongoDB 2.6.0, use Manually Create a Windows Service for MongoDB to create a Windows Service for MongoDB instead.
Configure directories and files.
Create a configuration file and a directory path for MongoDB log output (logpath):
Create a specific directory for MongoDB log files:
md "C:\Program Files\MongoDB\log"
In the Command Prompt, create a configuration file for the logpath option for MongoDB:
echo logpath=C:\Program Files\MongoDB\log\mongo.log > "C:\Program Files\MongoDB\mongod.cfg"
Run the MongoDB service.
Run all of the following commands in Command Prompt with “Administrative Privileges:”
Install the MongoDB service. For
--install
to succeed, you must specify the logpath run-time option."C:\Program Files\MongoDB\bin\mongod.exe" --config "C:\Program Files\MongoDB\mongod.cfg" --install
Modify the path to the mongod.cfg file as needed.
To use an alternate dbpath, specify the path in the configuration file (e.g. C:\Program Files\MongoDB\mongod.cfg) or on the command line with the --dbpath option.
If the dbpath directory does not exist, mongod.exe will not start. The default value for dbpath is
\data\db
.If needed, you can install services for multiple instances of mongod.exe or mongos.exe. Install each service with a unique
--serviceName
and--serviceDisplayName
. Use multiple instances only when sufficient system resources exist and your system design requires it.Stop or remove the MongoDB service as needed.
To stop the MongoDB service use the following command:
net stop MongoDB
To remove the MongoDB service use the following command:
"C:\Program Files\MongoDB\bin\mongod.exe" --remove
Manually Create a Windows Service for MongoDB
The following procedure assumes you have installed MongoDB using the MSI installer, with the default path C:\Program Files\MongoDB 2.6 Standard.
If you have installed in an alternative directory, you will need to adjust the paths as appropriate.
Open an Administrator command prompt.
Windows 7 / Vista / Server 2008 (and R2)
Press Win + R, then type
cmd
, then press Ctrl + Shift + Enter.Windows 8
Press Win + X, then press A.
Execute the remaining steps from the Administrator command prompt.
Create directories.
Create directories for your database and log files:
mkdir c:\data\db mkdir c:\data\log
Create a configuration file.
Create a configuration file. This file can include any of the configuration options for mongod, but must include a valid setting for logpath:
The following creates a configuration file, specifying both the logpath and the dbpath settings in the configuration file:
echo logpath=c:\data\log\mongod.log> "C:\Program Files\MongoDB 2.6 Standard\mongod.cfg" echo dbpath=c:\data\db>> "C:\Program Files\MongoDB 2.6 Standard\mongod.cfg"
Create the MongoDB service.
Create the MongoDB service.
sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB 2.6 Standard\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB 2.6 Standard\mongod.cfg\"" DisplayName= "MongoDB 2.6 Standard" start= "auto"
sc.exe
requires a space between “=
” and the configuration values (eg “binPath=
”), and a “” to escape double quotes.If successfully created, the following log message will display:
[SC] CreateService SUCCESS
Start the MongoDB service.
net start MongoDB
Stop or remove the MongoDB service as needed.
To stop the MongoDB service, use the following command:
net stop MongoDB
To remove the MongoDB service, first stop the service and then run the following command:
sc.exe delete MongoDB
Are you ready for the installation … and use … Technically, it’s not an installation it’s just Downloading…
I. Download the zip file http://www.mongodb.org/downloads
II. Extract it and copy the files into your desired location.
III. Start the DB engine.
IV. Test the installation and use it.
That's it! So simple, right? Ok let’s start
Go to http://www.mongodb.org/downloads
You will see a screen like this: I am using a windows 7 32 bit machine - that’s why I downloaded the package marked in red.
Click download (It only takes a few seconds).
Wow... I got that downloaded. It was a zipped file called mongodb-win32-i386-2.4.4.zip
(The name of the folder will change according to the version you download, here I got version 2.4.4).
OK all set.
Finished! That’s all
What we have to do next?
Let’s go and start using our mongo db...
Open up a command prompt, then navigate to bin
in the mongo folder
Type mongo.exe
(which is the command used to start mongo Db Power shell). Then see the below response..
That was an awesome exception J LOL … What is that?
Couldn’t connect to server.
Why did the exception happen? I have no idea... Did I create a server in between?
No.
Right, then how come it connected to a server in between? Silly Machine …Jz.
I got it! Like all other DBs - we have to start the DB engine before we use it.
So, how can we start it?
We have to start the mongo db by using the command mongod
. Execute this from the bin
folder of mongo.
Let’s see what had happened.
Again a wonderfully formatted exception J we got right? Did you notice what I have highlighted on top? Yeah it is the mongod command. The second one is the exception asking us to create a folder called data. And, inside the data folder, a folder called db
.
So we have to create these data\db
folders.
The next question is where to create these folders?
We have to create the data\db
folders in the C
drive of our BOX in which we are installing mongo. Let’s go and create the folder structure in C drive.
A question arises here: "Is it mandatory to create the data\db directories inside C?" Nooo, not really. Mongo looks in C
by default for this folder, but you can create them wherever you want. However, if it's not in C
, you have to tell mongo where it is.
In other words, if you don't want the mongo databases to be on C:\
, you have to set the db path for mongo.exe.
Ok, I will create those folders in some other location besides C
for better understanding of this option. I will create then in the D
drive root, with the help of cmd.
Why? Because it’s an opportunity for us to remember the old dos commands...
The next step is to set the Db path to mongo.exe.
Navigate back to bin
, and enter the command, mongod.exe --dbpath d:\data
.
I got the response below:
I Hope everything went well... Because I didn’t see any ERROR *** in the console J.
Next, we can go and start the db using the command start mongo.exe
I didn't see any error or warning messages. But, we have to supply a command to make sure mongo is up and running, i.e. mongod will get a response:
Hope everything went well.
Now we have to see our DB right? Yea very much, Otherwise how will we know it’s running?
For testing purpose MONGO has got a DB called test
by default. Lets go query that.
But how without any management studios? Unlike SQL, we have to depend on the command prompt. Yes exactly the same command prompt… our good old command prompt… Heiiiii.. Don’t get afraid yes it’s our old command prompt only. Ok let’s go and see how we are going to use it…
Ohhh Nooo… don’t close the above Command prompt, leave it as it is…
Open a new cmd window.
Navigate to Bin as usual we do…
I am sure you people may be remembering the old C programming which we have done on our college day’s right?
In the command prompt, execute the command mongo
or mongo.exe
again and see what happens.
You will get a screen as shown below:
I mentioned before that Mongo has got a test db by default called test
, try inserting a record into it.
The next question here is "How will we insert?" Does mongo have SQL commands? No, mongo has got only commands to help with.
The basic command to insert is
db.test.save( { KodothTestField: ‘My name is Kodoth’ } )
Where test
is the DB and .save
is the insert command. KodothTestField
is the column or field name, and My name is Kodoth
is the value.
Before talking more let’s check whether it’s stored or not by performing another command: db.test.find()
Our Data got successfully inserted … Hurrayyyyyy..
I know that you are thinking about the number which is displayed with every record right called ObjectId. It’s like a unique id field in SQL that auto-increments and all. Have a closer look you can see that the Object Id ends with 92, so it’s different for each and every record.
At last we are successful in installing and verifying the MONGO right. Let’s have a party... So do you agree now MONGO is as Sweet as MANGO?
Also we have 3rd party tools to explore the MONGO. One is called MONGO VUE. Using this tool we can perform operations against the mongo DB like we use Management studio for SQL Server.
Can you just imagine an SQL server or Oracle Db with entirely different rows in same table? Is it possible in our relational DB table? This is how mongo works. I will show you how we can do that…
First I will show you how the data will look in a relational DB.
For example consider an Employee table and a Student table in relational way. The schemas would be entirely different right? Yes exactly…
Let us now see how it will look in Mongo DB. The above two tables are combined into single Collection in Mongo…
This is how Collections are stored in Mongo. I think now you can feel the difference really right? Every thing came under a single umbrella. This is not the right way but I just wanted to show you all how this happens that’s why I combined 2 entirely different tables in to one single Collection.
If you want to try out you can use below test scripts
***********************
TEST INSERT SCRIPT
*********EMPLOYEE******
db.test.save( { EmployeId: "1", EmployeFirstName: "Kodoth", EmployeLastName:"KodothLast", EmployeAge:"14" } )
db.test.save( { EmployeId: "2", EmployeFirstName: "Kodoth 2", EmployeLastName:"Kodoth Last2", EmployeAge:"14" } )
db.test.save( { EmployeId: "3", EmployeFirstName: "Kodoth 3", EmployeLastName:"Kodoth Last3", EmployeAge:"14" } )
******STUDENT******
db.test.save( { StudentId: "1", StudentName: "StudentName", StudentMark:"25" } )
db.test.save( { StudentId: "2", StudentName: "StudentName 2", StudentMark:"26" } )
db.test.save( {StudentId: "3", StudentName: "StudentName 3", StudentMark:"27"} )
************************
Thanks