1, Download of MongoDB:
The official website of MongoDB is: http://www.mongodb.org/
MongoDB precompiled binary package download address: https://www.mongodb.com/download-center/community
You can download it on the official website, but I tried it. It's very troublesome. I found a simple way to download zip directly at this address, http://dl.mongodb.org/dl/win32/x86_64
The version above 4 has the problem of public key, so download the version below 4
2, MongoDB installation
Windows system Current choice win32/mongodb-win32-x86_64-2008plus-ssl-v3.6-latest-signed.msi
Download the. msi file. After downloading, double-click the file and install it according to the operating instructions.
During installation, you can set your installation directory by clicking the "custom" button.
Next installation "install mongoDB compass" Uncheck (of course, you can also choose to install it, which may take longer to install). MongoDB Compass is a graphical interface management tool. We can download and install it on the official website later. The download address is: https://www.mongodb.com/download-center/compass.
Create data directory
MongoDB stores the data directory in the db directory. However, this data directory will not be created actively. We need to create it after installation.
You can use the command line to create the following
cd D:\Sql\MongoDB\Server\3.6 md "\data\db"
You can also create folders directly under windows Explorer
Under D:\Sql\MongoDB\Server.6, create two folders: dB and log. So far, there are the following folders under mongodb,
D:\Sql\MongoDB\Server\3.6\bin D:\Sql\MongoDB\Server\3.6\data\db D:\Sql\MongoDB\Server\3.6\data\log
3, Run MongoDB server from the command line (startup mode 1)
In order to run the MongoDB server from the command prompt, you must execute from the bin directory of the MongoDB directory
[questions]
Mongod: the 'mongod' item cannot be recognized as the name of a cmdlet, function, script file, or runnable program.
[solution]
[administrator mode] open CMD
PS D:\Sql\MongoDB\Server\3.6\bin> mongod --dbpath D:\Sql\MongoDB\Server\3.6\data\db
Indicates that the browser is opened after successful startup at port 27017 http://localhost:27017/ As shown below
be careful:
mongod --dbpath command is the storage location for creating database files. When starting mongodb service, you need to determine the storage location of database files first, otherwise the system will not create automatically and the startup will not succeed.
mongod -- logpath indicates the path where the log file is stored -- logappend Indicates that the log file is written by appending
There will also be in the "bin/mongod.cfg" file Configuration of dbPath and logPath
In addition:
Double click the mongod.exe file in the bin directory and it will flash out because the above steps are not executed mongod --dbpath command
Double click the mongo.exe file in the bin directory to open the MongoDB client for database operation
4, The local client connects to the MongoDB server just built
The mongo command is to connect to the database service, that is, to the server, which can be accessed through the port (27017)
We can run mongo.exe in the command window to connect to MongoDB
[questions]
Error: couldn't connect to server 127.0.0.1
[solution]
Before connecting to MongoDB, you must run the command line in step 3 to run [MongoDB server starts first] before connecting to the local server
create profile
Create a profile. The file must set the systemLog.path parameter, including some additional configuration options.
For example, create a configuration file located in
D:\Sql\MongoDB\Server\3.6\mongod.cfg
Where systemLog.path and storage.dbPath are specified. The specific configuration contents are as follows:
systemLog: destination: file path: D:\Sql\MongoDB\Server\3.6\data\log\mongod.log storage: dbPath: D:\Sql\MongoDB\Server\3.6\data\db
5, Install MongoDB service and start it (startup mode 2)
By executing mongod.exe, use the -- install option to install the service, and use the -- config option to specify the previously created configuration file.
D:\Sql\MongoDB\Server\3.6\bin\mongod.exe --config "D:\Sql\MongoDB\Server\3.6\mongod.cfg" --install
To use an alternate dbpath, you can specify it in the configuration file (for example: D:\Sql\MongoDB\Server.6\mongod.cfg) or on the command line through the -- dbpath option.
If necessary, you can install services for multiple instances of mongod.exe or mongos.exe. You only need to specify a different instance name by using -- serviceName and -- serviceDisplayName. Only when there are sufficient system resources and system design needs to do so.
mongod --dbpath=Installation path\data\db --logpath=Installation path\data\log\mongodb.log --install --serviceName "MongoDB"
[questions]
net start MongoDB
MongoDB service is starting
MongoDB service failed to start.
Service specific error occurred: 100
[reason 1] because the previous mongod has been started
[solution 1] turn off the mongod process
[reason 2] the mongod service is not shut down normally, resulting in the mongod being locked
[solution 2] enter the db folder, delete mongod.lock and storage.bson files, and then restart the service,
[results]
Start MongoDB service
net start MongoDB
Close MongoDB service
net stop MongoDB
Remove MongoDB service
D:\Sql\MongoDB\Server\3.6\bin\mongod.exe --remove
Run the MongoDB server from the command line and Configure MongoDB service You can start it in any way.
Just choose one operation
6, MongoDB background management Shell
If you need to enter the mongodb background management, you need to first open the bin directory under the mongodb installation directory, and then execute the mongo.exe file. The MongoDB Shell is an interactive Javascript shell provided by mongodb, which is an interactive environment for operation and management of mongodb.
When you enter the mongoDB background, it will link to the test document (database) by default:
D:\Sql\MongoDB\Server\3.6\bin>mongo MongoDB shell version v3.6.23-8-gc2609ed3ed connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb Implicit session: session { "id" : UUID("7c838f33-6a05-4894-827d-76713c404e4e") } MongoDB server version: 3.6.23-8-gc2609ed3ed
Because it is a JavaScript shell, you can run some simple arithmetic operations:
> 2 + 2 4 >
db Command to view the document (database) of the current operation:
> db test >
Insert some simple records and find it:
> db.runoob.insert({x:10}) WriteResult({ "nInserted" : 1 }) > db.runoob.find() { "_id" : ObjectId("5604ff74a274a611b0c990aa"), "x" : 10 } >
The first command inserts the number 10 into the x field of the runoob set.
7, Operation database
At this stage, the database has successfully run. The next step is to operate some commands to insert data into the database, and you can see the results of a series of operations on the database
db.stats() The command displays the database name, the number of collections and documents in the database
> db.stats() { "db" : "test", "collections" : 1, "views" : 0, "objects" : 1, "avgObjSize" : 33, "dataSize" : 33, "storageSize" : 16384, "numExtents" : 0, "indexes" : 1, "indexSize" : 16384, "fsUsedSize" : 15998328832, "fsTotalSize" : 43689963520, "ok" : 1 }
db.help() will list a list of commands
> db.help() DB methods: db.adminCommand(nameOrDocument) - switches to 'admin' db, and runs command [just calls db.runCommand(...)] db.aggregate([pipeline], {options}) - performs a collectionless aggregation on this database; returns a cursor db.auth(username, password) db.cloneDatabase(fromhost) - deprecated db.commandHelp(name) returns the help for the command db.copyDatabase(fromdb, todb, fromhost) - deprecated db.createCollection(name, {size: ..., capped: ..., max: ...}) db.createView(name, viewOn, [{$operator: {...}}, ...], {viewOptions}) db.createUser(userDocument) db.currentOp() displays currently executing operations in the db db.dropDatabase() db.eval() - deprecated db.fsyncLock() flush data to disk and lock server for backups db.fsyncUnlock() unlocks server following a db.fsyncLock() db.getCollection(cname) same as db['cname'] or db.cname db.getCollectionInfos([filter]) - returns a list that contains the names and options of the db's collections db.getCollectionNames() db.getLastError() - just returns the err msg string db.getLastErrorObj() - return full status object db.getLogComponents() db.getMongo() get the server connection object db.getMongo().setSlaveOk() allow queries on a replication slave server db.getName() db.getPrevError() db.getProfilingLevel() - deprecated db.getProfilingStatus() - returns if profiling is on and slow threshold db.getReplicationInfo() db.getSiblingDB(name) get the db at the same server as this one db.getWriteConcern() - returns the write concern used for any operations on this db, inherited from server object if set db.hostInfo() get details about the server's host db.isMaster() check replica primary status db.killOp(opid) kills the current operation in the db db.listCommands() lists all the db commands db.loadServerScripts() loads all the scripts in db.system.js db.logout() db.printCollectionStats() db.printReplicationInfo() db.printShardingStatus() db.printSlaveReplicationInfo() db.dropUser(username) db.repairDatabase() db.resetError() db.runCommand(cmdObj) run a database command. if cmdObj is a string, turns it into {cmdObj: 1} db.serverStatus() db.setLogLevel(level,<component>) db.setProfilingLevel(level,slowms) 0=off 1=slow 2=all db.setWriteConcern(<write concern doc>) - sets the write concern for writes to the db db.unsetWriteConcern(<write concern doc>) - unsets the write concern for writes to the db db.setVerboseShell(flag) display extra information in shell output db.shutdownServer() db.stats() db.version() current version of the server >
8, The difference between mongod and mogo
1. Pay attention to the difference between mongod and mongo
The former is to enable MongoDB process (server), and the latter is to connect MongoDB (client)
2. To execute mongod, you need to configure the path to enable it. Simply double-click the mongod.exe file to flash. The correct thing is to execute the mongod --dbpath command
3. Execute mongod command to enable MongoDB process (server), and then use mongo to connect it,
9, Several concepts
source MongoDB interview questions and reference answers
8. What is "mongod"“
Mongod is the main process of handling MongoDB system. It processes data requests, manages data storage, and performs background management operations. When we run mongod command, it means that MongoDB process is starting and running in the background.
9. What are the "mongod" parameters
Pass the database storage path. The default is "/ data/db"
The default port number is "27017"
10. What is "mongo"
It is a command-line tool used to connect a specific mongod instance. When we run the mongo command without parameters, it will use the default port number and localhost to connect