标签:mongodb
下面这个命令用于登录MongoDB数据库。请确保在数据库dbname
中存在对应用户的凭据(比如,用户名和密码)。
mongo -u <username> -p <password> --authenticationDatabase <dbname>
一旦用户以适当的角色登录到数据库后,例如 userAdmin 或者 userAdminAnyDatabase,就可以用下面这个命令查看所有的数据库:
show dbs
要使用指定的数据库,请执行以下命令:
use databaseName
当使用包含dbName的命令切换到另一个数据库时,则需要使用一个有效的数据库用户进行身份验证。可以使用以下命令进行身份验证:
// // 身份验证 // db.auth("username", "password"); // // 登出 // db.logout()
下面几个命令可用于检查存在的集合、用户、角色等等
// // 列出当前数据库中所有的集合 //show collections;db.getCollectionNames(); // // 列出当前数据库中所有的用户 //show users;db.getUsers(); // // 列出所有的角色 //show roles
下面这个命令可用于创建集合。有关这个命令详细的使用方法,可参考这里。
db.createCollection("collectionName");
一旦集合创建完毕,下一步就是向其中插入文档。下面是将文档插入集合的一个简单的示例。
// // 插入一个简单的文档 // db.<collectionName>.insert({field1: "value", field2: "value"}) // // 插入多个文档 // db.<collectionName>.insert([{field1: "value1"}, {field1: "value2"}]) db.<collectionName>.insertMany([{field1: "value1"}, {field1: "value2"}])
保存命令根据传入参数的不同将执行更新现有文档或插入一个新文档。如果_id匹配现有的文档,则更新文档。否则,将创建一个新文档。在系统内部,“保存”方法要么使用插入命令,要么使用更新命令。
// // 如果匹配到文档,则更新;如果没有找到对应ID的文档,则插入这个新文档 // db.<collectionName>.save({"_id": new ObjectId("jhgsdjhgdsf"), field1: "value", field2: "value"});
下面这个命令可用于显示集合中所有的记录:
// // 获取所有的记录 // db.<collectionName>.find(); // // 获取指定数量的记录;下面这个命令将显示10条记录 // db.<collectionName>.find().limit(10); // // 根据id获取记录 // db.<collectionName>.find({"_id": ObjectId("someid")}); // // 根据传入的属性值获取指定记录集 // db.<collectionName>.find({"_id": ObjectId("someid")}, {field1: 1, field2: 1}); db.<collectionName>.find({"_id": ObjectId("someid")}, {field1: 0}); // Exclude field1 // // 集合中记录的数量 // db.<collectionName>.count();
下面是一些管理命令,它们可用于查看集合的详细信息,例如存储大小、总的大小和整体统计信息等等。
// // 获取集合统计信息 // db.<collectionName>.stats() db.printCollectionStats() // // 读写操作延迟的统计,包括平均读、写、及其他一些操作的时间 // db.<collectionName>.latencyStats() // // Get collection size for data and indexes // db.<collectionName>.dataSize() // 集合的大小 db.<collectionName>.storageSize() // 集合中文档的总存储大小 db.<collectionName>.totalSize() // 集合及其索引的大小(字节) db.<collectionName>.totalIndexSize() // 集合中所有索引的大小
标签:mongodb
原文地址:http://132408.blog.51cto.com/122408/1958800