mongodb 常用命令总结转载

合集下载

mongodb基本操作命令

mongodb基本操作命令

mongodb基本操作命令MongoDB是一个开源的文档型数据库,具有高性能、高可扩展性、高可用性等优点。

在使用MongoDB时,我们需要掌握一些基本操作命令,以便更好地管理和维护我们的数据库。

下面将详细介绍MongoDB的基本操作命令。

一、连接和退出1.连接MongoDB在命令行中输入以下命令可以连接到MongoDB:mongo如果你需要连接到指定主机上的MongoDB,则可以使用以下命令:mongo --host <hostname>其中<hostname>是指要连接的主机名或IP地址。

2.退出MongoDB要退出MongoDB,可以输入以下命令:exit二、数据库操作1.创建数据库在MongoDB中,我们可以使用以下命令来创建一个新的数据库:use <database_name>其中<database_name>是指你要创建的数据库名称。

2.查看当前数据库要查看当前正在使用的数据库,可以使用以下命令:db3.查看所有数据库要查看所有已经存在的数据库列表,可以使用以下命令:show dbs4.删除数据库要删除一个已经存在的数据库,可以使用以下命令:use <database_name>db.dropDatabase()其中<database_name>是指你要删除的数据库名称。

三、集合操作1.创建集合在MongoDB中,我们可以使用以下命令来创建一个新的集合:db.createCollection(<collection_name>)其中<collection_name>是指你要创建的集合名称。

2.查看集合要查看已经存在的集合列表,可以使用以下命令:show collections3.删除集合要删除一个已经存在的集合,可以使用以下命令:db.<collection_name>.drop()其中<collection_name>是指你要删除的集合名称。

请列举几个常用的mongodb操作命令

请列举几个常用的mongodb操作命令

请列举几个常用的mongodb操作命令
1. 插入数据命令
`db.collection.insertOne(document)`:向指定的集合中插入一个文档。

2. 查询数据命令
`db.collection.find(query, projection)`:查询指定集合中符合条件的文档。

3. 更新数据命令
`db.collection.updateOne(filter, update, options)`:更新指定集合中符合条件的第一个文档。

4. 删除数据命令
`db.collection.deleteOne(filter)`:删除指定集合中符合条件的第一个文档。

5. 创建索引命令
`db.collection.createIndex(keys, options)`:在指定集合中创建索引。

6. 聚合数据命令
`db.collection.aggregate(pipeline)`:执行聚合操作,根据指定条件对数据进行聚合操作。

7. 删除集合命令
`db.collection.drop()`:删除指定集合及其所有文档。

8. 查看集合命令
`show collections`:显示当前数据库中的所有集合。

9. 切换数据库命令
`use database`:切换当前使用的数据库到指定数据库。

10. 查看数据库列表命令
`show dbs`:显示当前MongoDB服务器上的所有数据库。

请注意,以上命令中的"collection"和"database"需要替换为实际使用的集合和数据库名称。

mongo的常用运维指令

mongo的常用运维指令

mongo的常用运维指令
- `use admin`:切换到管理员数据库。

- `db.runCommand({closeAllDatabases: 1})`:在线释放内存,该命令在 3.2 版本中已经被移除。

- `rs.status()`:查询复制集状态。

- `db.stats()`:查询指定库的状态,包括内存和磁盘的使用情况统计。

- `.stats()`:查询指定集合的具体信息。

- `db.version()`:查看数据库版本。

- `db.getCollectionNames()`:列出数据库中的所有集合。

- 集合数据的导出/导入。

- 数据库的备份与还原。

- `db.serverStatus()`:查看服务器状态。

这些指令可以帮助你管理 MongoDB 数据库,以确保其正常运行。

在使用这些指令时,请确保你对 MongoDB 有足够的了解,并严格按照官方文档中的指导进行操作。

请列举几个常用的mongodb操作命令

请列举几个常用的mongodb操作命令

请列举几个常用的mongodb操作命令
1. 插入数据: `db.collection.insertOne()` 用于向集合中插入一条
数据。

2. 查询数据: `db.collection.find()` 用于查询集合中的数据。

3. 更新数据: `db.collection.updateOne()` 用于更新集合中的一条
数据。

4. 删除数据: `db.collection.deleteOne()` 用于删除集合中的一条
数据。

5. 聚合数据: `db.collection.aggregate()` 用于进行数据聚合操作,如计算平均值、总和等。

6. 创建索引: `db.collection.createIndex()` 用于集合中的某个字
段创建索引。

7. 删除索引: `db.collection.dropIndex()` 用于删除集合中的某个
索引。

8. 统计数据: `db.collection.count()` 用于统计集合中的数据数量。

9. 排序数据: `db.collection.sort()` 用于对查询结果进行排序。

10. 分页查询: `db.collection.skip()` 用于跳过指定数量的文档进
行分页查询。

这些是一些常用的 MongoDB 操作命令,更详细的命令和用法
可以参考 MongoDB 官方文档。

mongodb基础操作

mongodb基础操作

mongodb基础操作1. MongoDB基础命令(重点)1.1. 数据库操作show dbs;显示数据库列表db;显示当前正在使用的数据库use dbname;创建或切换数据库如果数据库不存在,则创建数据库dbname,否则切换到指定数据库dbname。

创建的数据库并不在数据库的列表中,要显示它,我们需要向数据库dbname插入一些数据。

db.dropDatabase();删除数据库MongoDB 中默认的数据库为test,如果你没有创建新的数据库,集合将存放在test 数据库中。

1.2. 集合操作1.2.1. 创建集合了解db.createCollection(name, options);name是要创建的集合的名称options是一个文档,用于指定集合的配置选项参数是可选的,所以只需要到指定的集合名称。

例1:不限制集合大小db.createCollection("stu")例2:限制集合大小,后面学会插入语句后可以查看效果参数capped:默认值为false表示不设置上限,值为true表示设置上限参数size:当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节db.createCollection("sub", { capped : true, size : 10 } )注意:在 MongoDB 中不需要创建集合。

当插入一些文档时,MongoDB 会自动创建集合。

1.2.2. 显示集合show collections; 显示数据库中的集合列表1.2.3. 删除集合db.集合名.drop(); 删除指定的集合1.3. 文档(数据)操作(重点中的重点)1.3.1. 增加数据db.web.insert({"name":"ghost", "age":10}) 在web集合中插入一条新数据,如果没有web这个集合,mongodb 会自动创建_id是主键,主键是每条数据的唯一标识,不能重复,就像身份证是每个人唯一的编号一样。

mongodb常用指令

mongodb常用指令

mongodb常用指令[MongoDB常用指令]MongoDB是一个NoSQL数据库,被广泛应用于大规模数据存储和处理。

它非常适合于处理大量结构化和半结构化数据,并提供了丰富的查询和分析功能。

本文将介绍MongoDB常用指令,帮助读者了解如何使用这些指令进行数据操作和查询。

1. 连接MongoDB要使用MongoDB,首先需要连接到MongoDB服务器。

使用以下命令连接到默认端口(27017)上的MongoDB服务器:mongo如果MongoDB在不同的主机上或使用不同的端口,则可以使用以下命令指定主机和端口:mongo host <host-name> port <port-number>2. 选择数据库在MongoDB中,数据存储在各个数据库中。

可以使用以下命令选择要使用的数据库:use <database-name>如果选择的数据库不存在,则MongoDB将自动创建该数据库。

3. 创建集合MongoDB中的集合类似于关系型数据库中的表,它们用于组织和存储文档。

可以使用以下命令创建集合:db.createCollection("<collection-name>")例如,要创建一个名为"users"的集合,可以使用以下命令:db.createCollection("users")4. 插入文档在MongoDB中,数据以文档的形式存储。

文档是JSON(JavaScript Object Notation)格式的键值对。

可以使用以下命令将文档插入集合中:db.<collection-name>.insert(<document>)例如,要将一个文档插入到名为"users"的集合中,可以使用以下命令:ers.insert({ name: "John", age: 25 })5. 查询文档MongoDB提供了强大的查询功能,可以使用各种条件和操作符来检索文档。

mongo基本命令

mongo基本命令

mongo基本命令以下是MongoDB常用的基本命令:1. `use <数据库名称>`:切换到指定的数据库。

2. `show dbs`:显示当前MongoDB服务器上的所有数据库。

3. `db`:显示当前正在使用的数据库。

4. `db.dropDatabase()`:删除当前正在使用的数据库。

5. `db.<集合名称>.find()`:查找指定集合中的所有文档。

6. `db.<集合名称>.findOne()`:查找指定集合中的第一个文档。

7. `db.<集合名称>.insertOne(<文档>)`:向指定集合中插入单个文档。

8. `db.<集合名称>.insertMany(<文档数组>)`:向指定集合中插入多个文档。

9. `db.<集合名称>.updateOne(<查询条件>, <更新操作>)`:更新指定集合中符合查询条件的第一条文档。

10. `db.<集合名称>.updateMany(<查询条件>, <更新操作>)`:更新指定集合中符合查询条件的所有文档。

11. `db.<集合名称>.deleteOne(<查询条件>)`:删除指定集合中符合查询条件的第一个文档。

12. `db.<集合名称>.deleteMany(<查询条件>)`:删除指定集合中符合查询条件的所有文档。

13. `db.<集合名称>.createIndex(<索引字段>)`:为指定集合创建索引。

14. `db.<集合名称>.drop()`:删除指定集合。

这些是MongoDB的一些基本命令,可以帮助您开始使用MongoDB进行数据库操作。

mongodb的常用命令

mongodb的常用命令

mongodb的常用命令MongoDB是一款非关系型数据库,采用BSON格式存储数据,具有高可扩展性和灵活性。

在使用MongoDB时,常用的命令有很多,下面就介绍一些常用的MongoDB命令。

1. show dbs该命令用于显示当前MongoDB实例中所有的数据库。

在MongoDB中,一个实例中可以包含多个数据库,每个数据库可以包含多个集合。

使用该命令可以查看当前实例中有哪些数据库。

2. use db_name该命令用于切换数据库。

在MongoDB中,切换数据库的方式与关系型数据库不同,需要使用use命令进行切换。

例如,use test可以切换到名为test的数据库。

3. show collections该命令用于显示当前数据库中所有的集合。

在MongoDB中,一个数据库可以包含多个集合,使用该命令可以查看当前数据库中有哪些集合。

4. db.collection.find()该命令用于查询集合中的数据。

在MongoDB中,可以使用db.collection.find()命令查询集合中的数据。

例如,ers.find()可以查询名为users的集合中的所有数据。

5. db.collection.insert()该命令用于向集合中插入数据。

在MongoDB中,可以使用db.collection.insert()命令向集合中插入数据。

例如,ers.insert({name:"Tom",age:20})可以向名为users的集合中插入一条数据,该数据包含name和age两个字段。

6. db.collection.update()该命令用于更新集合中的数据。

在MongoDB中,可以使用db.collection.update()命令更新集合中的数据。

例如,ers.update({name:"Tom"},{$set:{age:30}})可以将名为Tom 的用户的年龄更新为30岁。

6个安全设置mongodb数据库的命令

6个安全设置mongodb数据库的命令

6个安全设置mongodb数据库的命令6个安全设置mongodb数据库的命令1、以安全认证模式启动复制代码代码如下:bin/mongod?Cauth?-dbpath /Users/mc2/mongo/db -logpath/Users/mc2/mongo/log.log &使用Cauth选项启动mongod进程即可启用认证模式。

或者,也可以修改/etc/mongodb.conf,设置auth=true,重启mongod进程。

2.添加用户复制代码代码如下:db.addUser(“admin”, “123456″)3.安全认证复制代码代码如下:db.auth(“admin”, “123456″)认证成功的情况下复制代码代码如下:ers.find{ “_id” : ObjectId(“5032e8386a7fc39e31978c50″), “user” : “admin”, “readOnly” : false, “pwd” :“95ec4261124ba5951720b199908d892b” }否则返回空4.为数据库写数据(同步到磁盘)加锁复制代码代码如下:db.runCommand({fsync:1,lock:1})说明:该操作已经对数据库上锁,不允许执行写数据操作,一般在执行数据库备份时有用。

执行命令,结果示例如下:复制代码代码如下:db.runCommand({fsync:1,lock:1}){ “errmsg” : “access denied; use admin db”, “ok” : 0 }use admin> db.runCommand({fsync:1,lock:1}){“info” : “now l ocked against writes, use db.fsyncUnlock to unlock”,“seeAlso” : ““,“ok” : 1}5、查看当前锁状态复制代码代码如下:db.currentOp> db.currentOp{“inprog” : [ ],“fsyncLock” : 1,“info” : “use db.fsyncUnlock to terminate the fsyncwrite/snapshot lock”}其中,fsyncLock为1表示MongoDB的fsync进程(负责将写入改变同步到磁盘)不允许其他进程执行写数据操作6、解锁复制代码代码如下:use admin>db.fsyncUnlock{ “ok” : 1, “info” : “unlock completed” } db.$cmd.sys.unlock.findOne 效果等同> db.currentOp{ “inprog” : [ ] }说明当前没有锁,可以执行写数据操作。

MongoDB查询修改操作语句命令大全

MongoDB查询修改操作语句命令大全

MongoDB查询修改操作语句命令⼤全MongoDB查询更新操作语句命令⼤全查询操作1、条件操作符<, <=, >, >= 这个操作符就不⽤多解释了,最常⽤也是最简单的db.collection.find({ "field" : { $gt: value } } ); // ⼤于: field > valuedb.collection.find({ "field" : { $lt: value } } ); // ⼩于: field < valuedb.collection.find({ "field" : { $gte: value } } ); // ⼤于等于: field >= valuedb.collection.find({ "field" : { $lte: value } } ); // ⼩于等于: field <= value如果要同时满⾜多个条件,可以这样做db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); // value1 < field < value2、$all匹配所有这个操作符跟SQL 语法的in 类似,但不同的是, in 只需满⾜( )内的某⼀个值即可, ⽽$all 必须满⾜[ ]内的所有值,例如:ers.find({age : {$all : [6, 8]}});可以查询出 {name: 'David', age: 26, age: [ 6, 8, 9 ] }但查询不出 {name: 'David', age: 26, age: [ 6, 7, 9 ] }3、$exists判断字段是否存在查询所有存在age 字段的记录ers.find({age: {$exists: true}});查询所有不存在name 字段的记录ers.find({name: {$exists: false}});4、Null值处理Null 值的处理稍微有⼀点奇怪,具体看下⾯的样例数据:> db.c2.find(){ "_id" : ObjectId("4fc34bb81d8a39f01cc17ef4"), "name" : "Lily", "age" : null }{ "_id" : ObjectId("4fc34be01d8a39f01cc17ef5"), "name" : "Jacky", "age" : 23 }{ "_id" : ObjectId("4fc34c1e1d8a39f01cc17ef6"), "name" : "Tom", "addr" : 23 }其中”Lily”的age 字段为空,Tom 没有age 字段,我们想找到age 为空的⾏,具体如下:> db.c2.find({age:null}){ "_id" : ObjectId("4fc34bb81d8a39f01cc17ef4"), "name" : "Lily", "age" : null }{ "_id" : ObjectId("4fc34c1e1d8a39f01cc17ef6"), "name" : "Tom", "addr" : 23 }奇怪的是我们以为只能找到”Lily”,但”Tom”也被找出来了,所以”null”不仅能找到它⾃⾝,连不存在age 字段的记录也找出来了。

mongodb常用28条查询语句

mongodb常用28条查询语句

一、基本查询语句1. 查询所有数据db.collection.find()2. 查询特定字段的数据db.collection.find({}, { field1: 1, field2: 1 })3. 查询特定条件的数据db.collection.find({ field: value })4. 查询特定条件的数据并指定返回字段db.collection.find({ field: value }, { field1: 1, field2: 1 })5. 查询特定条件的数据并指定返回字段并限制返回数量db.collection.find({ field: value }, { field1: 1, field2: 1 }).limit(n) 6. 查询特定条件的数据并指定返回字段并按字段排序db.collection.find({ field: value }, { field1: 1, field2: 1 }).sort({ field: 1 })7. 查询特定条件的数据并指定返回字段并限制返回数量并按字段排序db.collection.find({ field: value }, { field1: 1, field2:1 }).limit(n).sort({ field: 1 })8. 使用游标查找下一个匹配的文档cursor = db.collection.find()cursor.next()9. 使用游标查找上一个匹配的文档cursor = db.collection.find()cursor.next()cursor.next()10. 查询特定条件的数据并计算匹配文档数量db.collection.count({ field: value })二、高级查询语句11. 使用正则表达式查询数据db.collection.find({ field: /pattern/ })12. 使用 $or 查询多个条件的数据db.collection.find({ $or: [{ field1: value1 }, { field2: value2 }] }) 13. 使用 $in 查询多个值的数据db.collection.find({ field: { $in: [value1, value2] } })14. 使用 $nin 查询排除多个值的数据db.collection.find({ field: { $nin: [value1, value2] } })15. 使用 $exists 查询存在特定字段的数据db.collection.find({ field: { $exists: true } })16. 使用 $type 查询特定类型的数据db.collection.find({ field: { $type: "type" } }) 17. 使用 $gt 查询大于特定值的数据db.collection.find({ field: { $gt: value } }) 18. 使用 $lt 查询小于特定值的数据db.collection.find({ field: { $lt: value } }) 19. 使用 $gte 查询大于等于特定值的数据db.collection.find({ field: { $gte: value } }) 20. 使用 $lte 查询小于等于特定值的数据db.collection.find({ field: { $lte: value } }) 三、复杂查询语句21. 使用 $and 查询多个条件的数据db.collection.find({ $and: [{ field1: value1 }, { field2: value2 }] }) 22. 使用 $not 查询不匹配条件的数据db.collection.find({ field: { $not: { $gt: value } } })23. 使用 $text 查询全文索引的数据db.collection.createIndex({ field: "text" })db.collection.find({ $text: { $search: "keyword" } })24. 使用 $regex 查询正则表达式的数据db.collection.find({ field: { $regex: /pattern/ } })25. 使用 $where 查询特定条件的数据db.collection.find({ $where: function() {return this.field == value;} })26. 使用 $elemMatch 查询数组字段的数据db.collection.find({ arrayField: { $elemMatch: { nestedField: value } } })27. 使用 $all 查询包含所有指定值的数据db.collection.find({ arrayField: { $all: [value1, value2] } })28. 使用 $size 查询数组长度等于特定值的数据db.collection.find({ arrayField: { $size: n } })以上是 MongoDB 常用的 28 条查询语句,通过灵活运用这些查询语句,可以满足大部分的数据查询需求。

MongoDB各种查询操作详解

MongoDB各种查询操作详解

MongoDB各种查询操作详解一、find操作MongoDB中使用find来进行查询,通过指定find的第一个参数可以实现全部和部分查询。

1、查询全部空的查询文档{}会匹配集合的全部内容。

如果不指定查询文档,默认就是{}。

2、部分查询3、键的筛选键的筛选是查询时只返回自己感兴趣的键值,通过指定find的第二个参数来实现。

这样可以节省传输的数据量,又能节省客户端解码文档的时间和内存消耗。

查询时,数据库所关心的查询文档的值必须是常量。

二、查询条件1、比较查询$lt,$lte,$gt,$gte,$ne和<,<=,>,>=,!=是一一对应的,它们可以组合起来以查找一个范围内的值。

2、关联查询$in用于查询一个键的多个值,$nin将返回与筛选数组中所有条件都不匹配的文档。

将$in与$not组合可以实现$nin相同的效果。

$or用于对多个键做or查询。

三、特定类型的查询1、null查询null不仅能匹配自身,还能匹配键不存在的文档。

2、正则表达式3、数组查询$all:通过多个元素来匹配数组。

$size:查询指定长度的数组。

$slice:返回数组的一个子集合。

4、内嵌文档查询四、$where查询$where查询是MongoDB的高级查询部分,可以执行任意JavaScript作为查询的一部分,是其他查询方式的一个补充。

$where查询需要将每个文档从BSON转换为JavaScript对象,然后通过$where的表达式来运行,该过程不能利用索引,所以查询速度较常规查询慢很多。

如果必须使用时,可以将常规查询作为前置过滤,能够利用索引的话可以使用索引根据非$where子句进行过滤,最后使用$where对结果进行调优。

另一种方式采用映射化简-MapReduce.五、游标游标是很有用的东西,MongoDB数据库使用游标来返回find的执行结果。

客户端使用游标可以对最终结果进行有效的控制,比如分页,排序。

mongodb常用命令总结

mongodb常用命令总结

mongodb常用命令总结MongoDB是一个非关系型数据库,常用于大型应用程序的数据存储和处理。

下面是一些常用的MongoDB命令:1. show dbs这个命令将显示当前MongoDB实例中所有可用的数据库。

2. use db_name这个命令将切换到指定的数据库。

如果该数据库不存在,则会创建该数据库。

3. db.collection_name.find()这个命令将返回指定集合中的所有记录。

如果您只想查询满足特定条件的记录,则可以使用以下语法:db.collection_name.find({field_name: value})4. db.collection_name.insert()这个命令将向指定集合中添加一个新文档。

可以使用以下语法指定新文档的内容:db.collection_name.insert({field_name: value})5. db.collection_name.update()这个命令用于更新指定集合中的现有文档。

可以使用以下语法指定要更新的文档:db.collection_name.update({field_name: value}, {$set: {field_name: new_value}})6. db.collection_name.remove()这个命令用于从指定集合中删除一个文档。

可以使用以下语法指定要删除的文档:db.collection_name.remove({field_name: value})7. db.collection_name.count()这个命令将返回指定集合中文档的数量。

8. db.collection_name.aggregate()这个命令允许您使用聚合函数来对指定集合中的文档进行计算和处理。

以上是一些常用的MongoDB命令。

如果您需要更多帮助,请参考MongoDB官方文档。

MongoDB命令行操作

MongoDB命令行操作

MongoDB命令行操作本文专门介绍MongoDB的命令行操作。

其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅。

这里用来做测试的是远端(10.77.20.xx)的Mongo数据库。

1、登录和退出mongo命令直接加MongoDB服务器的IP地址(比如:mongo10.77.20.xx),就可以利用Mongo的默认端口号(27017)登陆Mongo,然后便能够进行简单的命令行操作。

至于退出,直接exit,然后回车就好了。

[plain]$ mongo 10.77.20.xxMongoDB shell version: 2.0.4connecting to: 10.77.20.xx/test> show collections> exitbye从以上可以看出,登录后mongo会自动连上一个名为test的数据库。

如果这个数据库不存在,那么mongo会自动建立一个名为test的数据库。

上面的例子,由于Mongo 服务器上没有名为test的db,因此,mongo新建了一个空的名为test的db。

其中,没有任何collection。

2、database级操作[plain]2.1 查看服务器上的数据库> show dbsadmin (empty)back_up (empty)blogtest 0.203125GBlocal 44.056640625GBtest (empty)2.2 切换数据库切换到blogtest数据库(从默认的test数据库)> use blogtestswitched to db blogtestmongo中,db代表当前使用的数据库。

这样,db就从原来的test,变为现在的blogtest数据库。

2.3 查看当前数据库中的所有集合> show collectionsbooksystem.indexesuser2.4 创建数据库mongo中创建数据库采用的也是use命令,如果use后面跟的数据库名不存在,那么mongo将会新建该数据库。

mongo语句大全

mongo语句大全

mongo语句大全以下是一些常见的MongoDB语句,包括查询、更新、插入和删除文档等操作:1. 查询操作:1.1 查询所有文档:db.collection.find()1.2 条件查询文档:db.collection.find({field: value})比如,查询age等于25岁的文档:db.collection.find({age: 25})1.3 多条件查询文档:db.collection.find({field1: value1, field2: value2}) 比如,查询age等于25岁并且name等于Tom的文档: db.collection.find({age: 25, name: "Tom"})1.4 条件查询文档之比较操作符:1.4.1 $gt(greater than,大于):db.collection.find({field: {$gt: value}})比如,查询age大于25岁的文档:db.collection.find({age: {$gt: 25}})1.4.2 $lt(less than,小于):db.collection.find({field: {$lt: value}})比如,查询age小于25岁的文档:db.collection.find({age: {$lt: 25}})1.4.3 $gte(greater than or equal,大于等于): db.collection.find({field: {$gte: value}}) 比如,查询age大于等于25岁的文档:db.collection.find({age: {$gte: 25}})1.4.4 $lte(less than or equal,小于等于):db.collection.find({field: {$lte: value}})比如,查询age小于等于25岁的文档:db.collection.find({age: {$lte: 25}})1.4.5 $ne(not equal,不等于):db.collection.find({field: {$ne: value}})比如,查询age不等于25岁的文档:db.collection.find({age: {$ne: 25}})1.5 条件查询文档之逻辑操作符:1.5.1 $and(与):db.collection.find({$and: [{field1: value1}, {field2:value2}]})比如,查询age等于25岁并且name等于Tom的文档: db.collection.find({$and: [{age: 25}, {name: "Tom"}]})1.5.2 $or(或):db.collection.find({$or: [{field1: value1}, {field2:value2}]})比如,查询age等于25岁或者name等于Tom的文档:db.collection.find({$or: [{age: 25}, {name: "Tom"}]})1.5.3 $not(非):db.collection.find({field: {$not: value}})比如,查询age不等于25岁的文档:db.collection.find({age: {$not: {$eq: 25}}})1.6 条件查询文档之字符串操作符:1.6.1 $regex(正则表达式):db.collection.find({field: {$regex: /pattern/}})比如,查询name字段以T开头的文档:db.collection.find({name: {$regex: /^T/}})1.6.2 $in(在集合中):db.collection.find({field: {$in: [value1, value2, ...]}}) 比如,查询age等于18岁或者25岁或者30岁的文档: db.collection.find({age: {$in: [18, 25, 30]}})1.6.3 $nin(不在集合中):db.collection.find({field: {$nin: [value1, value2, ...]}})比如,查询age不等于18岁、25岁、30岁的文档:db.collection.find({age: {$nin: [18, 25, 30]}})1.7 多条件查询文档之$elemMatch(匹配数组中的元素): db.collection.find({field: {$elemMatch: {key1: value1, key2: value2}}})比如,查询数组的每个元素中都包含name字段和score字段:db.collection.find({results: {$elemMatch: {name: "Tom", score: {$gte: 60}}}})1.8 查询文档之投影操作:db.collection.find({field: value}, {field1: 1, field2: 1, ...})比如,查询age等于25岁且name等于Tom的文档,只返回name字段和age字段:db.collection.find({age: 25, name: "Tom"}, {name: 1, age: 1}) 1.9 查询文档之排序操作:db.collection.find().sort({field: 1/-1})比如,查询所有文档,并按照age字段升序排序:db.collection.find().sort({age: 1})1表示升序,-1表示降序。

mongodb数据库语句

mongodb数据库语句

mongodb数据库语句MongoDB是一个开源的NoSQL数据库,它以文档的形式存储数据,而不是传统的关系型数据库中的表格和行。

MongoDB提供了各种各样的查询和操作语句,使得开发人员能够更加灵活地处理数据。

本文将介绍MongoDB的语句,包括查询语句、更新语句、删除语句、聚合语句等。

查询语句查询是MongoDB中最常用的操作之一。

MongoDB提供了各种各样的查询语句,使得开发人员能够根据不同的需求查询数据。

以下是一些常用的查询语句:1. find()find()是MongoDB中最基本的查询语句,它可以根据指定的条件从集合中检索文档。

例如:db.collection.find({key: value})其中,db.collection是指要查询的集合,key是要查询的字段,value是要匹配的值。

如果要查询多个字段,可以使用以下语句:db.collection.find({key1: value1, key2: value2})2. findOne()findOne()和find()的功能类似,但它只返回匹配的第一个文档。

例如:db.collection.findOne({key: value})3. $in$in运算符可以匹配一个数组中的多个值。

例如:db.collection.find({key: {$in: [value1, value2]}})4. $gt和$lt$gt和$lt分别表示“大于”和“小于”,可以用于数值比较。

例如:db.collection.find({key: {$gt: value1, $lt: value2}}) 5. $regex$regex可以用于正则表达式匹配。

例如:db.collection.find({key: {$regex: 'pattern'}}) 其中,pattern是要匹配的正则表达式。

更新语句更新是MongoDB中另一个常用的操作。

mongodb常用命令

mongodb常用命令

mongodb常⽤命令1、客户端连接服务>mongo2、查看数据库信息>db.stats()3、显⽰有哪些数据库>show dbs;4、选择使⽤哪个库>use 数据库名5、显⽰数据库中有哪些表>show tables;6、查看表信息db.data_sys_log.stats()7、数据库帮助>db.help()8、数据表帮助>db.data_sys_log.help()9、查看全表记录>db.data_sys_log.find()10、设置命令⾏查询数据,每页显⽰多少条>DBQuery.shellBatchSize = 5默认每页显⽰20条记录,当显⽰不下的情况下,可以⽤it迭代命令查询下⼀页数据。

可以通过DBQuery.shellBatchSize设置每页显⽰数据的⼤⼩。

如:DBQuery.shellBatchSize = 5,这样每页就显⽰5条记录了11、查询⼀条记录>db.data_sys_log.findOne()12、查询聚集中字段的不同记录>db.data_sys_log.distinct("login_name")13、查询聚集中login_name包含“王”关键字的记录>db.data_sys_log.find({"login_name":/王/})14、查询聚集中login_name以“王”关键字开头的记录>db.data_sys_log.find({"login_name":/^王/})15、查询聚集中login_name以“王”关键字结尾的记录>db.data_sys_log.find({"login_name":/王$/})16、查询聚集中指定列。

1表⽰true:相当于select login_name,role_name from data_sys_log>db.data_sys_log.find({},{"login_name":1,"role_name":1})虽然只查login_name,role_name两列,默认会带出_id列17、查询聚集中排除指定列>db.data_sys_log.find({},{"login_name":0,"role_name":0})18、查询聚集中指定列,且Age > 20>db.data_sys_log.find({"Age":{"$gt":20}},{"login_name":0,"role_name":0})19、聚集中字段排序>db.data_sys_log.find().sort({"login_name":1}) 升序>db.data_sys_log.find().sort({"login_name":-1}) 降序20、统计聚集中记录条数>db.data_sys_log.find().count();21、统计聚集中符合条件的记录条数>db.data_sys_log.find({"Age":{"$gt":20}).count();22、统计聚集中字段符合条件的记录条数>db.data_sys_log.find({"login_name":{"$exists":true}}).count()相当于:select count(login_name) from data_sys_log23、查询聚集中前5条记录>db.data_sys_log.find().limit(5)>db.data_sys_log.find().limit(5)24、查询聚集中第10条以后的记录,就是从11条开始>db.data_sys_log.find().skip(10)25、查询聚集中第10条记录以后的5条记录>db.data_sys_log.find().skip(10).limit(5)26、OR查询>db.data_sys_log.find({"$or":[{"login_name":/王/},{"role_name":/王/}]},{"login_name":true,"role_name":true})相当于:select login_name,role_name from data_sys_log where login_name like '%王%'or role_name like '%王%'27、添加新记录>db.data_sys_log.insert({"_class":"com.uws.base.model.SysLogMongo","login_name":"测试","role_name":"测试⾓⾊","opt_content":"[类名]:com.uws.base.controller.LoginController,[⽅法]:logout,[参数]:","create_time":"2019-05-21 10:59:10"})注意:如果不选择库执⾏,即不use hz_studentroll;则直接在test库中创建data_sys_log表,插⼊数据28、修改记录>db.data_sys_log.update({"login_name":"系统管理员"},{"$set":{"role_name":"管理员"}})注意:配置多条,只会修改⼀条29、删除记录>db.data_sys_log.remove({"role_name":"管理员"})>db.data_sys_log.remove({"age":{$lt:20}}) age<20$lt <$lte <=$gt >$gte >=$ne !=30、全部删除>db.data_sys_log.remove()>db.data_sys_log.remove({})31、给表添加字段>db.data_sys_log.update({},{$set:{source:null}},{multi:1})32、删除表字段>db.data_sys_log.update({},{$unset:{'source':null}},false,true)33、删除数据库>db.dropDatabase(); #删除当前所在的数据库34、删除表> er.drop() #删除user表35、关闭mongo服务1)使⽤数据库命令关闭:>use admin>db.shutdownServer();2)使⽤mongod命令关闭>mongod --shutdown -f ../mongo.conf或>mongod -f ../mongo.conf shutdown3)使⽤kill命令>ps -ef|grep mongo>kill pid>ps -ef|grep pmon使⽤ kill -2 pid 或 kill -15 pid不要使⽤kill -9 pid,因为如果MongoDB运⾏在没开户⽇志(--journal)的情况下,可能会造成数据损失。

mongodb linux常用命令

mongodb linux常用命令

mongodb linux常用命令1. 启动MongoDB服务器:sudo service mongodb start2. 停止MongoDB服务器:sudo service mongodb stop3. 重启MongoDB服务器:sudo service mongodb restart4. 查看MongoDB服务器状态:sudo service mongodb status5. 进入MongoDB shell:mongo6. 显示所有数据库:show databases7. 创建或切换到指定数据库:use <数据库名>8. 显示当前数据库中的所有集合:show collections9. 创建集合:db.createCollection("<集合名>")10. 删除集合:db.<集合名>.drop()11. 插入文档到集合中:db.<集合名>.insert(<文档对象>)12. 查询集合中的文档:db.<集合名>.find()13. 更新集合中的文档:db.<集合名>.update(<查询条件>, <更新操作>)14. 删除集合中的文档:db.<集合名>.remove(<查询条件>)15. 导出数据库:mongodump --db <数据库名> --out <导出路径>16. 导入数据库:mongorestore --db <数据库名> <导入路径>17. 备份数据库:mongodump --db <数据库名> --out <备份路径>18. 恢复数据库:mongorestore --db <数据库名> <备份路径>。

mongodb的操作语句 -回复

mongodb的操作语句 -回复

mongodb的操作语句-回复MongoDB是一种常用的NoSQL数据库,具有高性能、可伸缩性和灵活的数据模型等特点。

本文将介绍MongoDB的常用操作语句,并逐步解释其用法和作用。

以下是一些常见的MongoDB操作语句。

1. 连接到数据库在使用MongoDB之前,我们需要先连接到数据库。

可以使用`mongoose.connect()`方法来建立与数据库的连接。

例如:javascriptconst mongoose = require('mongoose');mongoose.connect('mongodb:localhost/mydatabase',{ useNewUrlParser: true, useUnifiedTopology: true });上述代码将使用mongoose库连接到名为"mydatabase"的数据库。

2. 创建集合(collection)集合类似于关系型数据库中的表,用于存储相关的文档。

可以使用`db.createCollection()`方法创建集合。

例如:javascriptdb.createCollection('users');上述代码将创建一个名为"users"的集合。

3. 插入文档(document)MongoDB使用文档来存储数据,文档是由键值对组成的。

可以使用`db.collectionName.insertOne()`方法插入单个文档或使用`db.collectionName.insertMany()`方法插入多个文档。

例如:javascripters.insertOne({ name: 'John', age: 25 });上述代码将在名为"users"的集合中插入一个文档。

4. 查询文档使用`db.collectionName.find()`方法来查询文档。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
log length start to end: 210789secs (58.55hrs) --oplog的时间段
oplog first event time: Wed Oct 19 2011 04:39:59 GMT+0800 (CST) --第一个事务的时间
syncedTo: Sat Oct 15 2011 18:18:53 GMT+0800 (CST) --延时主机情况
= 507496secs ago (140.97hrs)
source: 192.168.8.3:27003 --目标服务器
}
rs.initiate(config)
2. 将一个shard 加入到集群中
db.runCommand({addshard:"shard4/10.181.49.224:27001,10.181.49.221:27002,10.181.49.224:27002",name:"shard2"})
18. 移除一个shard
db.runCommand({"removeshard" : "localhost:20002"});
19. 从库支持查询
db.getMongo().setSlaveOk()
20. 查看慢查询
db.system.profile.find()
21. 打开profile
syncedTo: Fri Oct 21 2011 15:17:09 GMT+0800 (CST) --延时主机情况
= 0secs ago (0hrs)
9. 当前运行的进程
db.currentOp();
10. 杀掉可疑进程
15. 看表的状态
ers.stats()
16. 看shard 状态
printShardingStatus() db.printShardingStatus( true )
17. 对已有的表进行shard
db.runCommand({ shardcollection: "ers_2", key: { _id:1 }}) --users_2表根据_id 键分区
db.createCollection("event") 建立 event 表
维护语句:
use admin
1. 配置mongodb 集群中一个Replica Sets模式的shard,并初始化
config = {_id: 'shard4', members: [
8. 查看整个shard的同步状态
db.printSlaveReplicationInfo()
source: 192.168.8.2:27002 --目标服务器
打开profile有两种
一种直接在启动参数里直接设置,启动 MongoDB时加上 --profile=级别即可。
另一种就是客服端调用后db.setProfilingLevel(级别,秒数) ,但是这只影响本次会话。
22. db.adminCommand({"enableSharding" : "blog"}) 在blog 库上建立sharding
db.exam.find().limit(10) 查找exam表中的10条记录
db.exam.drop() 删除此表
db.exam.remove({}) 清空exam 表中的所有数据
以下说的表就是mongodb 中的collection
查询语句:
db.exam.remove({"_id":{$exists:true}}) 清空exam 表中的所有数据
db.exam.find() ; 查找exam表中的20条记录
3. 查看shard 信息
db.runCommand({listshards:1})
4. 将一个库使用shard
db.runCommand({ enablesharding:"okooo" })
5. 查看replica set 的状态
rs.status()
state 字段说明:
0 Starting up, phase 1
23. db.adminCommand({"shardCollection" : "blog.posts", key : {"date" : 1, "author" : 1}} 在blog库上的posts表上利用date和author两个字段建立sharding
oplog last event time: Fri Oct 21 2011 15:13:08 GMT+0800 (CST) --最后一个事务的时间
now: Fri Oct 21 2011 15:13:08 GMT+0800 (CST) --现在的时间
{_id: 0, host: '10.181.49.224:27001'},
{_id: 1, host: '10.181.49.221:27002'},
{_id: 2, host: '10.181.49.222:27003'}]
1 Primary
2 Secondary
3 Recovering
4 Fatal error
5 Starting up, phase 2
6 Unknown state
7 Arbiter
8 Down
health 字段说明:
0 Server is down
1 Server is up
6. 查看replica set 中是否是主节点
rs.isMaster()
7.查看当前数据库的数据同步状态
db.printReplicationInfo()
configured oplog size: 1024MB --oplog 大小
db.killOp(opid)
11. 看数据库信息
db.stats() 12.看数据实例信息 db.serverStatus()
13. (在主库上执行)增加一个从库
rs.add("192.168.8.226:27004")
14. (在主库上执行)减少一个从库
rs.remove("192.168.8.226:27004")
相关文档
最新文档