MongoDB Basic Use

Source: Internet
Author: User
Tags create index tojson

MongoDB Basic use after the successful start MongoDB, and then open a command line window input MONGO, you can do some operations of the database. Enter help to see the Basic Operations Command: Show DBS: Show list of databases show collections: Displays a collection in the current database (similar to a table in a relational database) show Users: Show user use <db Name>: Toggle the current database , which is the same as the meaning inside the Ms-sql db.help (): Displays the database Operations command, which has a lot of commands db.foo.help (): Display the set operation command, also has a lot of commands, Foo refers to the current database, a collection called Foo, not a real command Db.foo.find (): Data lookup for the Foo collection in the current database (all data is listed because there is no condition) Db.foo.find ({a:1}): Finds the Foo collection in the current database, provided that there is a property called a in the data. And A has a value of 1MongoDB there is no command to create the database, but there is a similar command. 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 helpdb.help ();d b.yourcoll.help ();d b.youcoll.find (). Help (); Rs.help (); 2, switch/CREATE database use YOURDB; When a collection (table) is created, the current database 3 is automatically created, query all databases show dbs;4, delete the currently used database Db.dropdatabase (), 5, clone the database from the specified host Db.clonedatabase (" 127.0.0.1 "); Cloning data from the database on the specified machine to the current database 6, copying the specified database data from the specified machine to a database Db.copydatabase ("MyDB", "temp", "127.0.0.1"); Copy the MyDB data from the native to the temp database 7, fix the current database Db.repairdatabase (), 8, view the currently used database Db.getname ();d B; The DB and GetName methods are the same effect, you can query the currently used database 9, display the current DB status Db.stats (), 10, the current DB version db.version (); 11, view the current DB link machine address Db.getmongo (); Collection Gather collection 1, create a clustered collection (table) db.createcollection ("Collname", {size:20, Capped:5, max:100});//Create success will display {"OK": 1}// Determines whether the set is a fixed capacity db.collName.isCapped (), 2, gets the specified name of the aggregation set (table) Db.getcollection ("Account"), 3, Get all the aggregation sets of the current DB Db.getcollectionnames (); 4, displays the status of all clustered indexes of the current DB Db.printcollectionstats (); user-related 1, add a user db.adduser ("name") ;d b.adduser ("UserName", "pwd123", true); Add user, set password, whether read only 2, database authentication, security mode Db.auth ("UserName", "123123"), 3, show all current user show users;4, delete user db.removeuser ("UserName"); other 1  , the error message before the query Db.getpreverror (), 2, clear the Error Record db.reseterror (); View aggregation collection basic information 1, view Help Db.yourColl.help (), 2, query the current collection of data bar number Db.yourColl.count (); 3, view data space size db.userInfo.dataSize (); 4, get the DB Db.userInfo.getDB () where the current collection is located, 5, get the state of the current aggregation  Db.userInfo.stats (); 6, get aggregate aggregate size db.userInfo.totalSize (), 7, aggregate storage size db.userInfo.storageSize (), 8, shard version information Db.userInfo.getShardVersion () 9, Aggregation set rename Db.userInfo.renameCollection ("Users"); Rename UserInfo to Users10, delete the current clustered collection Db.userInfo.drop (), gather query 1, query all Records db.userInfo.find (), equal to: select* from UserInfo; default per pageDisplays 20 records that can be queried for the next page of data with the IT iteration command when the display is not displayed. 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; Of course name can also be true or false, when using Ture, the river Name:1 effect, if False is to exclude name, Displays 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 to: 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 (); equivalent to: SELECT COUNT (*) from UserInfo where age >= 20; 21. Sort by a column db.userInfo.find ({sex: {$exists: true}}). count (); equals: 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 indexes db.users.dropIndexes (), modify, add, delete collection data 1, add Db.users.save ({name: ' Zhangsan ', age:25, sex:true}), data column of the added data, No fixed, according to the added data is 2, modify Db.users.update ({age:25}, {$set: {name: ' ChangeName '}}, False, True); equivalent: Update users set name = ' Chan Gename ' 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 modificationDelete 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}); Either update or remove is a required parameter; Additional parameters are optional. Parameter details default query filter condition {} Sort if multiple documents conform to the query filter criteria, the object that is ranked first is selected in the arrangement specified by the parameter, and the object will be manipulated {} If True, the selected object will is deleted before returning 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 Create a new object if the query result is empty. Example (1.5.4+) false statement block operation 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}); It is also possible, when you use the Db.users.find () query, display multiple data and can not be displayed on a page, you may use it to view the next page of information; 4, find cursor query >var CU Rsor = 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 display the data for (var i = 0, Len = c.length (), I < Len, i++) Printjson (C[i]) in the loop. 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 Use

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.