After the successful start of MongoDB, and then open a command line window input MONGO, you can do some of the database operations.
Enter help to see the basic Operations Command:
Show DBS: Display Database list
Show Collections: Displays a collection in the current database (similar to a table in a relational database)
Show Users: Show user
Use <db name>: Switch the current database, which is the same as the meaning in Ms-sql
Db.help (): Show database Operations Command with a lot of commands
Db.foo.help (): Displays the set Operation command, as well as a lot of commands, Foo refers to the current database, a collection called Foo, not the real meaning of the command
Db.foo.find (): Data lookup for the Foo collection in the current database (all data is listed because there are no conditions)
Db.foo.find ({a:1}): Looks for the Foo collection in the current database, provided the data has a property called a, and A has a value of 1
MongoDB does not have a command to create a database, but there are similar commands.
For example, if you want to create a "myTest" database, run the use myTest command first, then do something (such as: db.createcollection (' user ')) so that you can create a database called "MyTest".
Database Common Commands
1. Help View command Prompt
Help
Db.help ();
Db.yourColl.help ();
Db.youColl.find (). Help ();
Rs.help ();
2. Switch/CREATE Database
Use Yourdb; The current database is created automatically when a collection (table) is created
3. Query all databases
Show DBS;
4. Delete the currently used database
Db.dropdatabase ();
5. Cloning a database from a specified host
Db.clonedatabase ("127.0.0.1"); Clones data from a database on a specified machine to the current database
6. Copy the specified database data from the specified machine to a database
Db.copydatabase ("MyDB", "temp", "127.0.0.1"), copy the native mydb data to the TEMP database
7. Repairing the current database
Db.repairdatabase ();
8. View the database currently in use
Db.getname ();
db The DB and GetName methods are the same effect and can query the currently used database
9. Display the current DB status
Db.stats ();
10. Current DB version
Db.version ();
11. View the current DB link machine address
Db.getmongo ();
Collection Aggregation Collection
1. Create a Clustered collection (table)
Db.createcollection ("Collname", {size:20, Capped:5, max:100});
2. Get a clustered collection with the specified name (table)
Db.getcollection ("account");
3. Get all the aggregation sets of the current DB
Db.getcollectionnames ();
4. Displays the status of all clustered indexes in the current DB
Db.printcollectionstats ();
User-related
1. Add a user
Db.adduser ("name");
Db.adduser ("UserName", "pwd123", true); Add user, set password, read-only
2, database authentication, security mode
Db.auth ("UserName", "123123");
3. Show all current users
Show Users;
4. Delete users
Db.removeuser ("UserName");
other
1, the error message before the query
db.getpreverror ();
2. Clear the Error Record
db.reseterror ();
View Aggregate collection basic information
1. Check the help Db.yourColl.help (); 2, query the current collection of data Db.yourColl.count (), 3, view data space size db.userInfo.dataSize (), 4, get the db of the current aggregation collection Db.userInfo.getDB (); 5, get the state of the current aggregation db.userInfo.stats (); 6, get the aggregate aggregate size db.userInfo.totalSize (); 7, the aggregate storage space size Db.userInfo.storageSize (); 8, shard version Information Db.userInfo.getShardVersion () 9, Clustered set rename Db.userInfo.renameCollection ("Users "); Rename UserInfo to Users10, delete the current clustered collection Db.userInfo.drop (), aggregate collection query
1, query all Records db.userInfo.find (); equivalent: select* from UserInfo; The default is 20 records per page, and when not shown, you can query the next page of data with it iteration commands. Note: Type the IT command cannot take ";" but you can set the size of the data displayed per page, with dbquery.shellbatchsize= 50, so that each page shows 50 records. 2. The duplicate data db.userInfo.distinct ("name") of a column in the current collection after the query is removed; the same data in name is filtered out to the same amount: Select Distict name from UserInfo; 3. Query age = 22 Record Db.userInfo.find ({"Age": 22}), equivalent to: SELECT * from userInfo where age = 22; 4. Query age > 22 record Db.userInfo.find ({age: {$gt: 22}}), equivalent to: SELECT * from UserInfo where age >22; 5. Query age < 22 record Db.userInfo.find ({age: {$lt: 22}}), equivalent to: SELECT * from UserInfo where age <22; 6. Query Db.userInfo.find ({age: {$gte: 25}) for the record of age >= 25, equivalent to: SELECT * from UserInfo where the age >= 25; 7, Query the age <= 25 record Db.userInfo.find ({age: {$lte: 25}}); 8. Query age >= 23 and age <= 26db.userinfo.find ({age: {$gte: $, $lte: 26}}); 9. Query name contains MONGO data Db.userInfo.find ({name:/mongo/});//equivalent to%%select * from UserInfo where name like '%mongo% '; 10. Query name Db.userInfo.find ({name:/^mongo/}) Starting with MONGO, select * from UserInfo where name is like ' mongo% '; 11. Query the specified column name, age data Db.userInfo.find ({}, {name:1, age:1}), equivalent to: select Name, age from UserInfo, and of course name can also use True or FALSE, When using Ture, the river name:1 the same effect, if False is to exclude name, display column information other than name. 12. Query the specified column name, age data, age > 25db.userinfo.find ({age: {$gt: +}}, {name:1, age:1}), equivalent to: select Name, age from UserInfo WH Ere age >25; 13. Sort Ascending by Age: Db.userInfo.find (). Sort ({age:1}); Descending: Db.userInfo.find (). Sort ({Age:-1}); 14. Query name = Zhangsan, age = 22 Data db.userInfo.find ({name: ' Zhangsan ', age:22}); equivalent: SELECT * from userInfo where name = ' en Angsan ' and age = ' 22 '; 15, query the first 5 data db.userInfo.find (). Limit (5); equivalent: selecttop 5 * from UserInfo; 16, the query 10 after the data Db.userInfo.find (). Skip (10); equivalent: SELECT * from UserInfo where ID not in (selecttop * from UserInfo); 17, query the data between 5-10 db.userInfo.find (). Limit (5); can be used for pagination, limit is Pagesize,skip is the first few pages *pagesize 18, OR and Query Db.userInfo.find ({$or: [{age:22}, {age:25}]}), equivalent to: SELECT * from UserInfo where is age = n or age = 25; 19, query the first Data Db.userInfo.findOne (); equivalent: Selecttop 1 * from userinfo;db. Userinfo.find (). limit (1); 20. Query the number of record bars for a result set Db.userInfo.find ({age: {$gte: +}}). count (); equals: SELECT count (*) from UserInfo where age >= 20; 21. Sort by a column db.userInfo.find ({sex: {$exists: true}}). count (); equivalent to: select COUNT (Sex) from userInfo;
Index
1. Create index Db.userInfo.ensureIndex ({name:1});d B.userinfo.ensureindex ({name:1, TS:-1}); 2, query the current aggregate collection all Indexes db.userInfo.getIndexes (); 3, view the total index record size db.userInfo.totalIndexSize (); 4, read all index information of the current collection Db.users.reIndex (); 5, delete the specified index Db.users.dropIndex ("Name_1"); 6, delete all Index index db.users.dropIndexes ();
Modify, add, and delete collection data
1. Add Db.users.save ({name: ' Zhangsan ', age:25, sex:true}); Data column of the added data, not fixed, according to the added data is 2, modify Db.users.update ({age:25}, {$ Set: {name: ' ChangeName '}, False, True); equivalent: Update users set name = ' ChangeName ' where age = 25; Db.users.update ({name: ' Lisi '}, {$inc: {age:50}}, False, True); equivalent: Update users set age = Age + where name = ' Lisi '; Db.users.update ({name: ' Lisi '}, {$inc: {age:50}, $set: {name: ' HoHo '}}, False, True); equivalent: Update users set age = Age + 50, name = ' HoHo ' WHERE name = ' Lisi '; 3, delete db.users.remove ({age:132}); 4. Query modification Delete db.users.findAndModify ({query: {age: {$gte: +}}, Sort: {Age:-1}, Update: {$set: {name: ' A2 '}, $inc: {Age:2}}, remove:true}); Db.runcommand ({findandmodify: "Users", query: {age: {$gte: +}}, Sort: {Age:-1}, Update: {$set: {name: ' A2 ') }, $inc: {age:2}}, remove:true});UpdateOrRemoveOne of them is a necessary parameter; Additional parameters are optional.
Parameters
|
Detailed
|
Default value
|
Query
|
Query Filter Criteria
|
{}
|
Sort
|
If multiple documents conform to a query filter, the first-ranked object will be selected in the arrangement specified by the parameter, and the object will be manipulated
|
{}
|
Remove
|
If true, the selected object will be deleted before it is returned
|
N/A
|
Update
|
A modifier object
|
N/A
|
New
|
If true, the modified object is returned instead of the original object. In the delete operation, the parameter is ignored.
|
False
|
Fields
|
See retrieving a subset of fields (1.5.0+)
|
All fields
|
Upsert
|
Creates a new object if the query result is empty. Example (1.5.4+)
|
False
|
Statement block operations
1, simple Hello worldprint ("Hello world!"); This notation calls the print function, and writes "Hello world!" directly The effect is the same; 2. Convert an object to Jsontojson (new object ()); Tojson (New Object (' a ')); 3. Loop Add Data > for (var i = 0; i < i++) {... db.users.save ({name: "u_" + I, age:22 + i, sex:i% 2}); This adds 30 data to the loop, and can also omit the notation for parentheses > for (var i = 0; i < i++) Db.users.save ({name: "u_" + I, age:22 + i, sex:i% 2}); Yes, you can use it to view the next page of information when you use Db.users.find () to query, display multiple data without a page display, 4, find cursor query >var cursor = Db.users.find ();> while ( Cursor.hasnext ()) { printjson (Cursor.next ()); In this way, all the users information is queried, as can the var cursor = Db.users.find (), while (Cursor.hasnext ()) {Printjson (cursor.next);} You can also omit the {} number 5, foreach Iteration Loop Db.users.find (). foreach (Printjson); foreach must pass a function to handle the data information for each iteration 6, the Find cursor when the array handles the VAR cursor = Db.users.find (); cursor[4]; If you get the index of subscript 4, the data can be treated as an array, then it can be obtained in length: Cursor.length (); or cursor.count (); That way we can also use the loop to display the data for (var i = 0, Len = c.length (); i < Len; i++) Printjson (c); 7. Convert the Find cursor to an array of > var arr = db.users.find (). ToArray ();> Printjson (arr[2]); convert it to array 8 using the ToArray method, customizing our own query results to show only the age <= 28 and displays only the age of this column of data Db.users.find ({age: {$lte: +}, {age:1}). ForEach (Printjson);d B.users.find ({age: {$lte: 28}}, { Age:true}). foreach (Printjson); Excludes the Age column Db.users.find ({age: {$lte: +}}, {Age:false}). foreach (Printjson); 9. The Foreach transfer function displays information Db.things.find ({x:4}). foreach (function (x) {print (Tojson (x));});
"MongoDB Basic Operations"