mongodb命令

Node.js-Nodejs操作mongodb数据库

故事扮演 提交于 2020-02-01 06:00:42
Node.js 操作 mongodb 数据库首先要通过 npm i mongodb 命令安装第三方包 mongodb ,安装完成后通过如下示例中的相关步骤即可操作 mongodb 数据库了。 const mongodb = require ( 'mongodb' ) // 1. 获取客户端对象 const mongodbClient = mongodb . MongoClient // 连接数据库的地址(连接 mongodb 数据库不需要用户权限,直接使用地址连接即可) const dbUrl = 'mongodb://127.0.0.1:27017' // 2. 连接数据库 mongodbClient . connect ( dbUrl , { useUnifiedTopology : true } , ( err , client ) => { if ( err ) { return console . log ( '数据库连接失败,' , err ) } // 连接成功 console . log ( '数据库连接成功,开始为所欲为!' ) // 3. 选择一个数据库 let db = client . db ( 'test' ) // 4. 选择一个集合进行操作 let users = db . collection ( 'users' ) // 5. 操作 //

mongodb指南(翻译)(二十) - developer zone - 索引(四)地理信息索引

吃可爱长大的小学妹 提交于 2020-01-31 10:36:05
v1.4+ MongoDB支持2维地理信息索引。它被设计用来进行脑海中基于位置的查询,诸如“查找距离我的位置最近的N个场所”。它还可以高效的处理额外的查询条件,比如“查找距离我的位置最近的N个博物馆”。 为了可以使用这种索引,你需要在你的对象中设置一个字段,该字段可以是一个子对象或者前两个元素为x,y坐标的数组(或者y,x-只要一致就行;为了确保一致性,推荐在你的客户端代码中使用保持排序的词典/hashes。)。 一些例子: { loc : [ 50 , 30 ] } //SUGGESTED OPTION{ loc : { x : 50 , y : 30 } }{ loc : { foo : 50 , y : 30 } }{ loc : { lon : 40.739037, lat: 73.992964 } } 创建该索引 db.places.ensureIndex( { loc : "2d" } ) 默认情况下,该索引假定你在索引经度/维度,并且这些值的范围是[-180,180]. 如果你在索引其他东西,你可以指定一些选项: db.places.ensureIndex( { loc : "2d" } , { min : -500 , max : 500 } ) 这会对索引扩容来存储-500到500范围的值。地理信息边界搜索目前是限制在长方形和圆形之内不含边界以外。你不能插入边界

腾讯云linux服务器安装mongoDB(转载)

Deadly 提交于 2020-01-31 09:20:26
复制命令: wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --db_option 15 --dbinstallmethod 1 --dbrootpwd 123456 --reboot 复制到服务器窗口,如下图 image.png 这里注意,在 / 路径下不太好使,要在 ~ 路径下,如下图 image.png 安装完成后,显示这样: image.png 然后重新登录服务器,在窗口中敲 mongo ,进入数据库: image.png 输入 db ,默认在test数据库下,输入 use admin ,进入 admin 数据库: 然后在输入 db.auth('root','123456') ,返回1表示验证成功。注意这个账号密码是超级管理员,前面设置过的。 image.png 然后创建一个新的数据库,并配置账号密码, 敲 use newDatabase ,进入新的库内,然后敲 db.createUser({user: "username", pwd: "password", roles: [{ role: "dbOwner", db: "newDatabase" }]}) 配置账号密码: image

centos7下安装momgodb3

血红的双手。 提交于 2020-01-31 05:20:46
简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 查看 官方网站 MongoDB特点 模式自由 :可以把不同结构的文档存储在同一个数据库里 面向集合的存储:适合存储 JSON风格文件的形式 完整的索引支持:对任何属性可索引 复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移 自动分片:支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器 丰富的查询:支持丰富的查询表达方式,查询指令使用JSON形式的标记,可轻易查询文档中的内嵌的对象及数组 快速就地更新:查询优化器会分析查询表达式,并生成一个高效的查询计划 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片) Packages包说明 MongoDB官方源中包含以下几个依赖包: mongodb-org: MongoDB元数据包,安装时自动安装下面四个组件包: 1.mongodb-org-server: 包含MongoDB守护进程和相关的配置和初始化脚本。 2.mongodb-org-mongos: 包含mongos的守护进程。 3.mongodb-org-shell: 包含mongo shell。 4.mongodb-org

Centos7下yum安装mongodb

荒凉一梦 提交于 2020-01-31 03:52:51
简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 查看 官方网站 MongoDB特点 模式自由 :可以把不同结构的文档存储在同一个数据库里 面向集合的存储:适合存储 JSON风格文件的形式 完整的索引支持:对任何属性可索引 复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移 自动分片:支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器 丰富的查询:支持丰富的查询表达方式,查询指令使用JSON形式的标记,可轻易查询文档中的内嵌的对象及数组 快速就地更新:查询优化器会分析查询表达式,并生成一个高效的查询计划 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片) Packages包说明 MongoDB官方源中包含以下几个依赖包: mongodb-org: MongoDB元数据包,安装时自动安装下面四个组件包: 1.mongodb-org-server: 包含MongoDB守护进程和相关的配置和初始化脚本。 2.mongodb-org-mongos: 包含mongos的守护进程。 3.mongodb-org-shell: 包含mongo shell。 4.mongodb-org

使用Haproxy+lua代理Mongodb副本集

喜夏-厌秋 提交于 2020-01-31 02:39:43
一般情况下,使用mongo客户端,或者其他语言的mongo客户端驱动程序连接mongodb副本集的时候,只需要指定副本集名称,就可以实现当mongodb副本集主备切换时的高可用目标。 但是总有一些特殊的场合,连接到副本集的客户端与副本集所在的网络是隔离的,只能通过副本集所在网络的代理访问副本集,比如说,mongodb副本集被部署到k8s上,当k8s集群外的客户端想访问副本集时,只能通过代理进行访问,如通过haproxy访问副本集。 那么问题来了,客户端只知道代理的ip地址或者url,当副本集主备切换时,客户端通过副本集名称是不会连接到副本集的主实例的,这里提供一个haproxy+lua代理mongo副本集的方式可以解决这个问题。 关于haproxy和lua的使用方法和说明,请参考如下链接: https://www.arpalert.org/haproxy-lua.html 首先,创建一个简易的mongodb副本集(同一主机端口不同,没有用户名密码等安全设置): # 通过以下shell创建一个简易的mongodb副本集 ​ # 杀掉已存在的mongo实例 ps -ef | grep mongod | grep -v grep | awk '{print $2}' | xargs kill -9 ; ​ # 清理并创建目录供副本集使用 rm -rf /data/47017/* &&

MongoDB(一)

点点圈 提交于 2020-01-31 00:01:50
一、MongoDB简介   MongoDB是一个高性能,开源,无模式的文档型数据库,是当前 NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的官方网站地址是:http://www.mongodb.org/,读者可以在此获得更详细的信息。 小插曲:什么是NoSql?   NoSql,全称是 Not Only Sql,指的是非关系型的数据库。下一代数据库主要解决几个要点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场运动开始于2009年初,通常特性应用如:模式自由、支持简易复制、简单的API、最终的一致性(非ACID)、大容量数据等。NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。    特点:   高性能、易部署、易使用,存储数据非常方便。主要功能特性有: 面向集合存储,易存储对象类型的数据。 模式自由。 支持动态查询。 支持完全索引,包含内部对象。 支持查询。 支持复制和故障恢复。 使用高效的二进制数据存储,包括大型对象(如视频等)。 自动处理碎片,以支持云计算层次的扩展性 支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程序

MongoDB 2.2索引

末鹿安然 提交于 2020-01-30 01:23:46
在mysql中已经学习了索引,并知道索引对于查询速度的提升 mongodb也支持索引,以提升查询速度 步骤一:创建大量数据 执行如下代码,向集合中插入10万条文档 for(i=0;i<100000;i++) { db.t1.insert({name:'test'+i, age:i}) } 步骤二:数据查找性能分析 查找姓名为'test10000'的文档 db.t1.find({name:'test10000'}) 使用explain()命令进行查询性能分析 db.t1.find({name:'test10000'}).explain('executionStats') 其中executionStats下的executionTimeMillis表示整体查询时间,单位是毫秒 性能分析结果如下图: 步骤三:建立索引 创建索引 1表示升序,-1表示降序 db.集合.ensureIndex({属性:1}) db.t1.ensureIndex({name:1}) 步骤四:对索引属性查询 执行上面的同样的查询,并进行查询性能分析 db.t1.find({name:'test10000'}).explain('executionStats') 性能分析结果如下图: 索引的命令 建立唯一索引,实现唯一约束的功能 db.t1.ensureIndex({'name':1}, {'unique':true

MongoDB 2.2安全

别说谁变了你拦得住时间么 提交于 2020-01-29 23:57:09
超级管理员 为了更安全的访问mongodb,需要访问者提供用户名和密码,于是需要在mongodb中创建用户 采用了角色-用户-数据库的安全管理方式 常用系统角色如下: root:只在admin数据库中可用,超级账号,超级权限 Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库 创建超级管理用户 use admin db.createUser({ user:'admin', pwd:'123', roles:[{role:'root',db:'admin'}] }) 启用安全认证 修改配置文件 sudo vi /etc/mongod.conf 启用身份验证 注意:keys and values之间一定要加空格, 否则解析会报错 security: authorization: enabled 重启服务 sudo service mongod stop sudo service mongod start 终端连接 mongo -u 'admin' -p '123' --authenticationDatabase 'admin' 普通用户管理 使用超级管理员登录,然后进入用户管理操作 查看当前数据库的用户 use test1 show users 创建普通用户 db.createUser({ user:'t1', pwd:'123', roles:[{role

安装和运行(含虚拟机)

与世无争的帅哥 提交于 2020-01-29 16:11:11
mongodb是NoSql类型的数据库,NoSql就是不需要设计表结构,不需要声明字段的文档型诗句哭,什么数据都是以【key-value】的形式存在,也就是json格式,并且不需要提前声明字段,想存什么存什么,但也就没有什么所谓的数据严谨了,给人一种简易版数据库的感觉,但是mongodb在数据库排行版上一直都是前五的存在 官网 ,mongodb可以跟很多的服务器语言连接 官方的下载地址 ,现在的版本是4.3,我一直用的是4.0.6,而且现在官网的打开速度特别的慢,下载也是特别的慢 较快的window64位安装包下载地址 较快的window32位安装包下载地址 red head虚拟机安装包下载地址 跟nodejs说的一样,安装包下载后要存着,window的要存着,云虚拟机的也要存着,并且保持本地和云虚拟机的版本一致,才不会有很多的BUG window安装 安装包和压缩包我建议使用压缩包,解压到电脑上后,把文件夹里的bin文件夹设置成系统path路径,怎么设置可以查看nodejs笔记 然后查看一级文件夹里除了bin是不是有一个data文件夹,一个logs文件夹,log文件夹里需要有一个mongo.log文件,没有自己新建就行 然后执行生成服务的cmd命令 mongod --logpath D:\mongodb\log\mongo.log --logappend --dbpath D: