mongodb 学习笔记

1. 登陆MongoDB

下面这个命令用于登录MongoDB数据库。请确保在数据库dbname中存在对应用户的凭据(比如,用户名和密码)。

mongo -u <username> -p <password> --authenticationDatabase <dbname>

2. 显示所有的数据库

一旦用户以适当的角色登录到数据库后,例如 userAdmin 或者 userAdminAnyDatabase,就可以用下面这个命令查看所有的数据库:

show dbs

3. 选择工作数据库

要使用指定的数据库,请执行以下命令:

use databaseName

4. 身份验证与登出数据库

当使用包含dbName的命令切换到另一个数据库时,则需要使用一个有效的数据库用户进行身份验证。可以使用以下命令进行身份验证:

//
// 身份验证
//
db.auth("username", "password");
//
// 登出
//
db.logout()

5. 列出集合、用户、角色等等

下面几个命令可用于检查存在的集合、用户、角色等等

//
// 列出当前数据库中所有的集合
//show collections;db.getCollectionNames();
//
// 列出当前数据库中所有的用户
//show users;db.getUsers();
//
// 列出所有的角色
//show roles

6. 创建集合

下面这个命令可用于创建集合。有关这个命令详细的使用方法,可参考这里

db.createCollection("collectionName");

7. 将文档插入集合

一旦集合创建完毕,下一步就是向其中插入文档。下面是将文档插入集合的一个简单的示例。

//
// 插入一个简单的文档
//
db.<collectionName>.insert({field1: "value", field2: "value"})
//
// 插入多个文档
//
db.<collectionName>.insert([{field1: "value1"}, {field1: "value2"}])
db.<collectionName>.insertMany([{field1: "value1"}, {field1: "value2"}])

8. 保存或更新文档

保存命令根据传入参数的不同将执行更新现有文档或插入一个新文档。如果_id匹配现有的文档,则更新文档。否则,将创建一个新文档。在系统内部,“保存”方法要么使用插入命令,要么使用更新命令。

//
// 如果匹配到文档,则更新;如果没有找到对应ID的文档,则插入这个新文档
//
db.<collectionName>.save({"_id": new ObjectId("jhgsdjhgdsf"), field1: "value", field2: "value"});

9. 显示集合中的记录

下面这个命令可用于显示集合中所有的记录:

//
// 获取所有的记录
//
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();

10. 管理命令

下面是一些管理命令,它们可用于查看集合的详细信息,例如存储大小、总的大小和整体统计信息等等。

//
// 获取集合统计信息
//
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() // 集合中所有索引的大小
时间: 2024-12-14 15:23:35

mongodb 学习笔记的相关文章

MongoDB学习笔记系列

回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助和启发,文章中有对新技术的研究(Mongo驱动),对老技术的回顾(代码重构),还有对架构设计的阐述等(面向接口编程,对扩展开放,对修改关闭,所以出现了IMongoRepository接口). MongoDB学习笔记系列~目录 MongoDB学习笔记~环境搭建 (2015-03-30 10:34) M

MongoDB学习笔记一:MongoDB的下载和安装

趁着这几天比较空闲,准备学习一下MongoDB数据库,今天就简单的学习了一些MongoDB的下载和安装,并创建了存储MongoDB的数据仓库.将自己今天学习到的写成博客分享给大家. 一.MongoDB的下载和安装 MongoDB的下载地址为:http://www.mongodb.org/ 1.进入官网的首页后,在首页的右上方单击Downloads连接,如图所示: 2.在页面中可以看到目前最新的版本和以前发布过的版本,这里选择最新版本,windows 32位的进行下载,文件的格式为ZIP格式的,单

MongoDB学习笔记(一:安装时出现The default storage engine &#39;wiredTiger&#39; is not available问题解决)

今晚在自己老式笔记本来试了一下MongoDB的安装,由于配置比较低,只能选择32位版本的MongoDB进行安装,在安装过程中碰到了上述标题所示错误,自己也捣鼓了一个小时左右,终于在一篇博客中找到答案,具体原文链接如下:http://blog.csdn.net/u013457382/article/details/50775268 MongoDB学习笔记(一:安装时出现The default storage engine 'wiredTiger' is not available问题解决)

Mongodb学习笔记

总结下这几天Mongodb学习笔记 /** * 获取MongoClient * @author xuyw * @email [email protected] * @param host * @param port * @return */ public static MongoClient getMongoClient(String host, int... port) { MongoClient mongoClient = null; int portlen = 0; try { if (p

[Spring Data MongoDB]学习笔记--建立数据库的连接

1. 有了上一篇的Mongo后,连接数据库我们还需要更多的信息,比如数据库名字,用户名和密码等. 我们可以继续来配置MongoDbFactory的实例. public interface MongoDbFactory { DB getDb() throws DataAccessException; DB getDb(String dbName) throws DataAccessException; } 然后我们可以继续用MongoDbFactory来创建MongoTemplate的实例. pu

mongodb学习笔记系列一

一.简介和安装 ./bin/mongod --dbpath /path/to/database --logpath /path/to/log --fork --port 27017 mongodb非常的占磁盘空间, 刚启动后要占3-4G左右,--smallfiles 二.基本命令 1.登录mongodb client /use/local/mongo 2.查看当前数据库 show databases; show dbs; 两个可能 3.admin是和管理有关的库,local 是放schema有关

[Spring Data MongoDB]学习笔记--牛逼的MongoTemplate

MongoTemplate是数据库和代码之间的接口,对数据库的操作都在它里面. 注:MongoTemplate是线程安全的. MongoTemplate实现了interface MongoOperations,一般推荐使用MongoOperations来进行相关的操作. MongoOperations mongoOps = new MongoTemplate(new SimpleMongoDbFactory(new Mongo(), "database")); MongoDB docu

[Spring Data MongoDB]学习笔记--注册一个Mongo实例

1. 通过Java based bean metadata @Configuration public class AppConfig { public @Bean Mongo mongo() throws UnknownHostExceptioin { return new Mongo("localhost"); } } 上面的方式包含异常处理,这并不是我们想要的. 所以,应该尽量用下面这种方式MongoFactoryBean,或者后面的xml方式. @Configuration p

MongoDB 学习笔记(二) 之查询

最简单的查询 个人认为mongoDB是面向对象的吧. 例如最简单的查询  整个数据集只有三条数据 第一查询姓名为张三的  数据 查询的条件比较好写 随意   db.collection.find(查询条件)   例如 15 得到的结果是这样 如果你不想返回某个字段呢 ,你可以自己定义返回的字段值 语法这样 db.collection.find({查询条件},{返回字段}) 16 我们看到每次查询 "_id" 这个字段 都返回  我们可以将它设置为0 这样的话就不会返回 如 查询条件里的

mongodb 学习笔记 02 -- CURD操作

mongodb 学习笔记 02 – CURD操作 CURD代表创建(Create).更新(Update).读取(Read)和删除(Delete)操作 创建库 直接 use 库名 然后创建collection 就可以创建库 创建collecion db.createCollection("collectionName") 隐式创建collection db.collectionName.insert({xxxxxx}) 删除collection db.collectionName.dro