首页 数据库 mysql教程 mongoDB的shell的基本操作

mongoDB的shell的基本操作

Jun 07, 2016 pm 03:54 PM
mongodb shell 基本操作 打开 首先

打开shell 首先启动服务端mongod --dbpath d:\app\mongodata 然后打开shell:mongo localhost:27017 默认是以test用户操作,我们可以通过mongo localhost:27017/admin 增大权限 1.创建一个数据库 use [databaseName] 但是若什么也不做就退出的话这个空数据库

打开shell

首先启动服务端mongod --dbpath d:\app\mongodata

然后打开shell:mongo localhost:27017

\

默认是以test用户操作,我们可以通过mongo localhost:27017/admin 增大权限

1.创建一个数据库

use [databaseName]

但是若什么也不做就退出的话这个空数据库会被删除

2.查看所有数据库

show dbs

3.给指定数据库添加集合并且添加记录

db.[documentName].insert({...})

1.插入文档

db.[documentName].insert({})

2.批量插入文档

shell 这样执行是错误的 db.[documentName].insert([{},{},{},……..])

shell 不支持批量插入

想完成批量插入可以用mongo的应用驱动或是shell的for循环

3.Save操作

save操作和insert操作区别在于当遇到_id相同的情况下

save完成保存操作

insert则会报错

4.查看数据库中所有文档

show collections

5.查询制定文档的数据

查询所有:db.[documentName].find()

查询第一条数据:db.[documentName].findOne()

6.更新文档数据

db.[documentName].update({查询条件},{更新内容})

例子:

var p=db.persons.findOne();

db.persons.update(p,{name:"zhang"});

1.强硬的文档替换式更新操作

db.[documentName].update({查询器},{修改器})

强硬的更新会用新的文档代替老的文档

2.主键冲突的时候会报错并且停止更新操作

因为是强硬替换当替换的文档和已有文档ID冲突的时候 ,则系统会报错

3.insertOrUpdate操作

目的:查询器查出来数据就执行更新操作,查不出来就替换操作

做法:db.[documentName].update({查询器},{修改器},true)

4.批量更新操作

默认情况当查询器查询出多条数据的时候默认就修改第一条数据

如何实现批量修改

db.[documentName].update({查询器},{修改器},false, true)

7.删除文档中的数据

db.[documentName].remove({...})

例子:

db.persons.remove({name:"zhang"})

1.删除列表中所有数据

db.[documentName].remove()

集合的本身和索引不会别删除

2.根据条件删除

db.[documentName].remove({})

删除集合text中name等于uspcat的纪录

db.text.remove({name:”uspcat”})

3.小技巧

如果你想清楚一个数据量十分庞大的集合

直接删除该集合并且重新建立索引的办法

比直接用remove的效率和高很多

8.使用修改器来完成局部更新操作

\

\

. runCommand函数和findAndModify函数

runCommand可以执行mongoDB中的特殊函数

findAndModify就是特殊函数之一他的用于是返回update或remove后的文档

runCommand({“findAndModify”:”processes”,

query:{查询器},

sort{排序},

new:true

update:{更新器},

remove:true

}).value

ps = db.runCommand({

"findAndModify":"persons",

"query":{"name":"text"},

"update":{"$set":{"email":"1221"}},

"new":true

}).value

ps)

9.$addToSet与$each结合完成批量数组更新

db.text.update({_id:1000},{$addToSet:{books:{$each:[“JS”,”DB”]}}})

$each会循环后面的数组把每一个数值进行$addToSet操作

10.存在分配与查询效率

当document被创建的时候DB为其分配内存和预留内存,当修改操作

不超过预留内层的时候则速度非常快,超过了就要分配新的内存

则会消耗时间

11. 删除库中的集合 db.[documentName].drop()

删除数据库 db.dropDatabase()

12.shell里面的help

全局的help,数据库相关的db.help(),集合相关的db.[documentName].help()

注:shell客户端内置了js引擎!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

navicat过期怎么办 navicat过期怎么办 Apr 23, 2024 pm 12:12 PM

解决 Navicat 过期问题的方法包括:续订许可证;卸载并重新安装;禁用自动更新;使用 Navicat Premium Essentials 免费版;联系 Navicat 客户支持。

PHP 函数和 Shell 函数的区别 PHP 函数和 Shell 函数的区别 Apr 24, 2024 pm 06:39 PM

PHP函数和Shell函数的主要区别在于安全性(PHP函数更安全)、可靠性(Shell函数因操作系统而异)、功能(Shell函数更强大但受shell限制)、性能(PHP函数通常更快)和复杂性(Shell函数更复杂)。它们都用于文件系统、进程和命令操作,但PHP函数是内置的,而Shell函数通过外部shell调用。因此,在服务器文件下载场景中,file_put_contents()函数更安全,而wget命令更灵活。

navicat怎么连mongodb navicat怎么连mongodb Apr 24, 2024 am 11:27 AM

要使用 Navicat 连接 MongoDB,您需要:安装 Navicat创建 MongoDB 连接:a. 输入连接名称、主机地址和端口b. 输入认证信息(如果需要)添加 SSL 证书(如果需要)验证连接保存连接

nodejs用什么数据库好 nodejs用什么数据库好 Apr 21, 2024 am 05:06 AM

对于 Node.js 应用,选择数据库取决于应用要求。NoSQL 数据库 MongoDB 提供灵活性,Redis 提供高并发性,Cassandra 处理时间序列数据,Elasticsearch 专用于搜索。SQL 数据库 MySQL 性能出色,PostgreSQL 功能丰富,SQLite 轻量级,Oracle Database 全面。选择时,需考虑数据类型、查询、性能、事务性、可用性、许可和成本。

net4.0有什么用 net4.0有什么用 May 10, 2024 am 01:09 AM

.NET 4.0 用于创建各种应用程序,它为应用程序开发人员提供了丰富的功能,包括:面向对象编程、灵活性、强大的架构、云计算集成、性能优化、广泛的库、安全性、可扩展性、数据访问和移动开发支持。

nodejs怎么连接数据库 nodejs怎么连接数据库 Apr 21, 2024 am 05:07 AM

在 Node.js 中连接数据库的步骤:安装 MySQL、MongoDB 或 PostgreSQL 包。创建数据库连接对象。打开数据库连接,并处理连接错误。

nodejs如何实现数据库 nodejs如何实现数据库 Apr 21, 2024 am 05:42 AM

在 Node.js 中连接数据库需要选择一个数据库系统(关系型或非关系型),然后使用特定于该类型的模块建立连接。常见模块包括 mysql(MySQL)、pg(PostgreSQL)、mongodb(MongoDB)和 redis(Redis)。建立连接后,可以使用查询语句检索数据并使用更新语句修改数据。最后,完成所有操作后必须关闭连接以释放资源。遵循这些最佳实践可提高性能和安全性,例如使用连接池、参数化查询和妥善处理错误。

无服务器架构中Java函数与数据库的集成 无服务器架构中Java函数与数据库的集成 Apr 28, 2024 am 08:57 AM

在无服务器架构中,Java函数可以与数据库集成,以访问和操作数据库中的数据。关键步骤包括:创建Java函数、配置环境变量、部署函数和测试函数。通过遵循这些步骤,开发人员可以构建复杂的应用程序,无缝访问存储在数据库中的数据。

See all articles