发布于 2015-09-14 14:44:44 | 231 次阅读 | 评论: 0 | 来源: 网络整理

mongo 壳命令历史

You can retrieve previous commands issued in the mongo shell with the up and down arrow keys. Command history is stored in ~/.dbshell file. See .dbshell for more information.

指令列自变量的选项

The mongo executable can be started with numerous options. See mongo executable page for details on all available options.

The following table displays some common options for mongo:

Option Description
--help Show command line options
--nodb

Start mongo shell without connecting to a database.

To connect later, see Opening New Connections.

--shell

Used in conjunction with a JavaScript file (i.e. <file.js>) to continue in the mongo shell after running the JavaScript file.

See JavaScript file for an example.

命令助手

The mongo shell provides various help. The following table displays some common help methods and commands:

Help Methods and Commands Description
help Show help.
db.help() Show help for database methods.
db.<collection>.help() Show help on collection methods. The <collection> can be the name of an existing collection or a non-existing collection.
show dbs Print a list of all databases on the server.
use <db> Switch current database to <db>. The mongo shell variable db is set to the current database.
show collections Print a list of all collections for current database
show users Print a list of users for current database.
show profile Print the five most recent operations that took 1 millisecond or more. See documentation on the database profiler for more information.

基本壳JavaScript操作

The mongo shell provides numerous mongo Shell JavaScript 快参 methods for database operations.

In the mongo shell, db is the variable that references the current database. The variable is automatically set to the default database test or is set when you use the use <db> to switch current database.

The following table displays some common JavaScript operations:

JavaScript Database Operations Description
db.auth() If running in secure mode, authenticate the user.
coll = db.<collection>

Set a specific collection in the current database to a variable coll, as in the following example:

coll = db.myCollection;

You can perform operations on the myCollection using the variable, as in the following example:

coll.find();
db.collection.find()

Find all documents in the collection and returns a cursor.

See the and for more information and examples.

See Cursors for additional information on cursor handling in the mongo shell.

db.collection.insert() Insert a new document into the collection.
db.collection.update()

Update an existing document in the collection.

See 更新 for more information.

db.collection.save()

Insert either a new document or update an existing document in the collection.

See 更新 for more information.

db.collection.remove()

Delete documents from the collection.

See 删除 for more information.

db.collection.drop() Drops or removes completely the collection.
db.collection.ensureIndex() Create a new index on the collection if the index does not exist; otherwise, the operation has no effect.
db.getSiblingDB() or db.getSisterDB() Return a reference to another database using this same connection without explicitly switching the current database. This allows for cross database queries. See How can I access to different databases temporarily? for more information.

For more information on performing operations in the shell, see:

快捷键

在 2.2 版更改.

The mongo shell provides most keyboard shortcuts similar to those found in the bash shell or in Emacs. For some functions mongo provides multiple key bindings, to accommodate several familiar paradigms.

The following table enumerates the keystrokes supported by the mongo shell:

Keystroke Function
Up-arrow previous-history
Down-arrow next-history
Home beginning-of-line
End end-of-line
Tab autocomplete
Left-arrow backward-character
Right-arrow forward-character
Ctrl-left-arrow backward-word
Ctrl-right-arrow forward-word
Meta-left-arrow backward-word
Meta-right-arrow forward-word
Ctrl-A beginning-of-line
Ctrl-B backward-char
Ctrl-C exit-shell
Ctrl-D delete-char (or exit shell)
Ctrl-E end-of-line
Ctrl-F forward-char
Ctrl-G abort
Ctrl-J accept-line
Ctrl-K kill-line
Ctrl-L clear-screen
Ctrl-M accept-line
Ctrl-N next-history
Ctrl-P previous-history
Ctrl-R reverse-search-history
Ctrl-S forward-search-history
Ctrl-T transpose-chars
Ctrl-U unix-line-discard
Ctrl-W unix-word-rubout
Ctrl-Y yank
Ctrl-Z Suspend (job control works in linux)
Ctrl-H (i.e. Backspace) backward-delete-char
Ctrl-I (i.e. Tab) complete
Meta-B backward-word
Meta-C capitalize-word
Meta-D kill-word
Meta-F forward-word
Meta-L downcase-word
Meta-U upcase-word
Meta-Y yank-pop
Meta-[Backspace] backward-kill-word
Meta-< beginning-of-history
Meta-> end-of-history

查询

In the mongo shell, perform read operations using the db.collection.find() and db.collection.findOne() methods.

The db.collection.find() method returns a cursor object which the mongo shell iterates to print documents on screen. By default, mongo prints the first 20. The mongo shell will prompt the user to “Type it” to continue iterating the next 20 results.

The following table provides some common read operations in the mongo shell:

Read Operations Description
db.collection.find(<query>)

Find the documents matching the <query> criteria in the collection. If the <query> criteria is not specified or is empty (i.e {} ), the read operation selects all documents in the collection.

The following example selects the documents in the users collection with the name field equal to "Joe":

coll = db.users;
coll.find( { name: "Joe" } );

For more information on specifying the <query> criteria, see Query Document.

db.collection.find( <query>, <projection> )

Find documents matching the <query> criteria and return just specific fields in the <projection>.

The following example selects all documents from the collection but returns only the name field and the _id field. The _id is always returned unless explicitly specified to not return.

coll = db.users;
coll.find( { },
           { name: true }
         );

For more information on specifying the <projection>, see Result Projections.

db.collection.find().sort( <sort order> )

Return results in the specified <sort order>.

The following example selects all documents from the collection and returns the results sorted by the name field in ascending order (1). Use -1 for descending order:

coll = db.users;
coll.find().sort( { name: 1 } );
db.collection.find( <query> ).sort( <sort order> ) Return the documents matching the <query> criteria in the specified <sort order>.
db.collection.find( ... ).limit( <n> ) Limit result to <n> rows. Highly recommended if you need only a certain number of rows for best performance.
db.collection.find( ... ).skip( <n> ) Skip <n> results.
db.collection.count() Returns total number of documents in the collection.
db.collection.find( <query> ).count()

Returns the total number of documents that match the query.

The count() ignores limit() and skip(). For example, if 100 records match but the limit is 10, count() will return 100. This will be faster than iterating yourself, but still take time.

db.collection.findOne( <query> )

Find and return a single document. Returns null if not found.

The following example selects a single document in the users collection with the name field matches to "Joe":
coll = db.users;
coll.findOne( { name: "Joe" } );

Internally, the findOne() method is the find() method with a limit(1).

See and documentation for more information and examples. See 查询,更新, 以及投影算符快速参考 to specify other query operators.

错误检查方法

The mongo shell provides numerous administrative database methods, including error checking methods. These methods are:

Error Checking Methods Description
db.getLastError() Returns error message from the last operation.
db.getLastErrorObj() Returns the error document from the last operation.

管理命令助手

The following table lists some common methods to support database administration:

JavaScript Database Administration Methods Description
db.cloneDatabase(<host>) Clone the current database from the host specified. The host database instance must be in noauth mode.
db.copyDatabase(<from>, <to>, <host>)

Copy the <from> database from the <host> to the <to> database on the current server.

The <host> database instance must be in noauth mode.

db.fromColl.renameCollection(<toColl>) Rename collection from fromColl to toColl.
db.repairDatabase() Repair and compact the current database. This operation can be very slow on large databases.
db.addUser( <user>, <pwd> ) Add user to current database.
db.getCollectionNames() Get the list of all collections in the current database.
db.dropDatabase() Drops the current database.

See also administrative database methods for a full list of methods.

打开另外的连接

You can create new connections within the mongo shell.

The following table displays the methods to create the connections:

JavaScript Connection Create Methods Description
db = connect("<host>:<port>/<dbname>")
Open a new database connection.
conn = new Mongo()
db = conn.getDB("dbname")

Open a connection to a new server using new Mongo().

Use getDB() method of the connection to select a database.

See also Opening New Connections for more information on the opening new connections from the mongo shell.

杂项

The following table displays some miscellaneous methods:

Method Description
Object.bsonsize(<document>) Prints the BSON size of an <document>

See the MongoDB JavaScript API Documentation for a full list of JavaScript methods .

其他资源

Consider the following reference material that addresses the mongo shell and its interface:

Additionally, the MongoDB source code repository includes a jstests directory which contains numerous mongo shell scripts.

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务