• 搜索:mongodb

mongd 解决“Error parsing YAML config file: yaml-cpp: error

mongod 启动报错 $ mongod --config /usr/local/etc/mongod.conf Error parsing YAML config file: yaml-cpp: error at line 9, column 9: illegal map value try 'mongod --help' for more information 报错原因 mongodb 3.0之后的配置文件采用YAML格式; YAML 格式约定如下: : 形式定义配置文件 : 后面如果有 key 前面有空格(一般是2个)不能是tab键 , value 前面必须有一个空格 :

Docker Compose 事半功倍,容器部署更方便简洁

Docker Compose是什么 Docker Compose 是一个工具,这个工具可以通过一个 yml 文件定义多容器的 Docker 应用. 通过一条命令就可以根据 yml 文件的定义去创建或者管理多个容器. 什么是yml文件 YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式, YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互. 如何定义yml文件 新建 docker-compose.yml 文件 version: '3.7' services: mongodb: contain

Docker 容器之间互访的几种形式

容器之间为什么要互访 docker容器与容器之间是隔离状态,不能互相访问,但如果有些依赖关系的服务要如何访问对方呢? 介绍三种方法来解决容器互访问题. 虚拟IP访问 安装docker时,docker会默认创建一个内部的桥接网络docker0,每创建一个容器分配一个虚拟网卡,容器之间可以根据ip互相访问。 运行一个centos镜像, 查看ip地址得到:192.168.32.2 首先通过 docker ps 查看当前电脑上运行的容器实例 $ docker ps CONTAINER ID IMAGE COMMAND CREATE

docker 创建mongodb 容器 映射本地数据目录和配置文件

docker 创建mongodb 容器 安装 mongodb 镜像 拉取官方镜像 docker pull mongo 本地创建数据库目录 # zhangzhi @ ZhangZhi-MacBook-Pro in ~ [9:03:15] $ sudo mkdir mongodb 不要忘记给目录 777 权限 sudo chmod 777 mongodb 本地配置文件目录 # zhangzhi @ ZhangZhi-MacBook-Pro in ~ [9:27:24] C:130 $ sudo mkdir docker/mongodb 不要忘记给目录 777 权限 sudo chmod

docker 安装 redis 让宿主机访问

docker 安装 redis 拉取镜像 docker pull redis 宿主机创建映射目录 创建目录 sudo mkdir -p docker/redis/redis01/conf sudo mkdir -p docker/redis/redis01/data conf 目录放redis.conf 配置文件 data 目录映射redis数据目录 上面文件都要chmod 777 的权限 创建配置文件 在线拉取一个 redis.conf 放入 docker/redis/redis01/conf 目录下 cd docker/redis/redis01/conf wget http:

centOS用shell脚本定时备份mongodb并清理历史备份版本

前言 备份数据库是运维同志的日常工作之一, 但是对于中小公司,或者服务器托管在云服务商的公司来说,基本没有专业的运维工程师. 所以一部分公司中,开发工程师就要分担一些运维的事情. 我们本着能让计算机做的事情绝对不动手原则, 今天就和大家分享一下 centOS下定时自动备份mongodb数据库,并且清理历史备份记录. centOS安装crontab 如果你的系统已经安装,请直接跳过此步骤. [root@CentOS ~]# yum install vixie-cron [root@CentOS ~]# yum install crontabs 说明 vixie-cron软件包是cron的主程

mongodb客户端连接报错 Error: Failed to execute "listdatabases" command​

前言 本人当前使用的mongodb客户端版本Robo 3T 1.3.1 配置连接远程mongodb时报错: Error: Failed to execute "listdatabases" command 原因是因为今天mongodb config中指定了权限验证 开启mongodb验证 /etc/mongod.conf security: authorization: enabled 因为mongodb安装以后只在cmd中进行本地访问,所以要使用图形界面就需要使用登录账号及密码 解决方案 之前mongodb 采用 SSH 远程连接mongodb的方式, 现在需要重新编辑 添加Auth

docker 实践:如何构建自己的镜像

创建自己的项目 我们用简单的 node.js web项目输出 helloworld 为例. 项目目录: npm start app.js 启动项目; app.js 代码 const Koa = require('koa'); const app = new Koa(); const main = ctx => { ctx.response.body = 'Hello World'; }; app.use(main); app.listen(3000); 编写dockerfile FROM node:8.4 COPY . /app WORKDIR /app RUN ["n

UCloud 云服务器 centOS6 64位 安装mongodb 数据库

mongodb 在centOS 64位服务器上安装 UCloud 云服务器 CentOS 系统 64 位 Step 1 设置mongodb源 vim /etc/yum.repos.d/mongodb.repo copy 下面内容 [mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1 保存上面内容并退出 Step 2 安装mongodb yum install mongo-10gen mongo-10

node.js 微信开发 提交菜单

前面连续分享2篇关于微信开发的文章. node.js 定时获取 access_token 使用 wechat 开发微信回调接口 今天分享 node.js 开发微信菜单 前提: 1.首先是切换到了开发者模式 2.微信管理后台已经授权自定义菜单,如下图例是没办法提交菜单的 当你的微信从编辑模式切换到开发者模式时, 之前你手动定义的关键词回复, 手动创建的菜单全部失效. 微信自定义菜单 说白了非常简单. 微信自定义菜单就是一次 POST 请求. 请求接口: https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TO

mysql ,mongodb 针对坐标值按照距离远近排序

针对mysql 和 mongodb 不同数据库下坐标转换距离排序 mysql //坐标转换因子.是需要计算的. xFactor = cityObject.xFactor; yFactor = cityObject.yFactor; //地区坐标 latitude = location.latitude; longitude = location.longitude; //组合sql语句 let sql = [ 'SELECT *, ', ' sqrt(pow((latitude - ' + latitude + ') * ' + yFactor + ',2) + ', ' p

mongodb 创建用户 mongoose 指定用户连接数据库

说实话,之前玩 mongodb 都是裸奔,都不需要用户名和密码直接连接 mongodb. 但是,正在在使用 mongodb 来开发的时候,还是要设置一个专属的账号,密码来连接数据库. 如何在mongodb 中创建一个用户 Mac下使用 brew 安装mongodb 请点击左侧链接打开. shell 下连接 mongodb ➜ /Users/zhangzhi >mongo MongoDB shell version: 3.2.0 connecting to: test 默认连接到 test 数据库. 切换数据库到 admin > show databases admi

通过 find 这终端查找文件

find命令搜索文件 find命令非常高效,并且使用简单. find命令来自unix,OS X和Linux系统同样支持该命令. find命令格式: ** find 文件路径 参数** 这用户目录下查找 查找文件名中包含 redis.conf 的文件 find ~ -name "redis.conf*" -name 是指定参数 redis.conf* *号匹配任意字符,说明以 redis.conf 开头的文件 指定文件目录下查找 在特定的文件夹中寻找特定的文件,比如 这 / 目录下查找 redis.conf开头的文件 find ~ -name "redis.conf*" m

使用 rhc 工具连接 openshift 服务器

上一篇分享了, 如何使用 gem 在mac 环境下安装 rhc工具 这一篇是关于 如何使用 rhc 工具连接 openshift 服务器 如何使用 rhc 首先运行 rhc setup ➜ /Users/zhangzhi >rhc setup OpenShift Client Tools (RHC) Setup Wizard This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are pr

node.js 下定制你的 config 配置文件

在任何一个项目中都缺少不了配置文件 具有下面的特点: 数据量不大,信息需要长期保存,容易维护 当然你也可以在数据库中建一张表,去存放这些信息,一点错都没有,但是,是不是有点牛刀杀鸡的感觉 今天和大家分享的是配置文件的定制,根据你的运行环境不同动态配置一张灵活的 config 配置文件. 之前的一篇博文 根据 ENV 环境变量不同加载不同的配置文件 这一篇可以说是上一篇的子章节,上一篇说的太笼统, 这一次针对一个点,然后铺开说一个功能 我的博客全部用绝对路径 为什么? 因为总有些人直接过来 copy 我的文章,然后不加出处,不署名,这是别人辛辛苦苦的劳动果实,作为一个I

ENV定制开发,测试,发布环境变量

env 命令可以显示Linux系统当前用户环境变量,当然mac下也是可以的.注意是当前用户的环境变量.查看ENV环境变量:zhangzhi@moke:~$ENV TERM_PROGRAM=iTerm.app ANDROID_HOME=/Users/zhangzhi/Library/Android/sdk SHELL=/bin/bash TERM=xterm-256color CLICOLOR=1 TMPDIR=/var/folders/b9/x5dylknd4x735wwy54f3g41h0000gn/T/ GRADLE_HOME=/usr/local/gradle-2.2.1 Apple_P

node-cache 模块 node.js 轻量级缓存管理使用及源码分析

随着前端越来越重,已经不是当年的一个页面配几个第三方js库实现一些花俏的效果,而是出现了各种各样的框架解决方案.当我们项目实现前后端分离时,甚至一些逻辑处理也会放到前端来处理.所以随随便便打开一个页面上百k应该也是正常,甚至更大的页面在考验的前端.但是伴随成长的后端,尤其数存储方面貌似发展缓慢,总有跟不上的赶脚!想当年我们使用关系型数据库,当达到一个瓶颈时,解决起来是不计后果的,读写分离,拆表拆库,做service中间件,然后给中间件负载均衡等等来减轻前端并发造成的后端数据压力.如今的mongodb 做一个分布式貌似轻轻松松, redis 做一层缓存让你有飞一样的感觉.我们终于谈到了缓存.缓存

forever node.js web应用中不可或缺的伟大模块

javascript 一统江湖的势头越来越猛,越来越重的前端,不得不实施前后端分离,angular.js 成功把前端javascript抽象成了一个复杂的MVC框架,注意,它是一个框架,可不是普普通通的插件,或者工具包.另一位兄弟则是跳出浏览器宿主的限制,活跃在了服务器端,大名鼎鼎的 node.js还有一位齐头并进的好哥们 mongodb ,它不仅让你使用熟悉的javascript范围数据库,而且还自己实现了javascript引擎.可能创建 javascript 语言的大牛,看到今天js的发展事态,想必脊梁骨也是阵阵发凉.我们好像扯远了,开题先痛痛快快意淫一把怎能善罢甘休,O(∩_∩)O~由

分享一个关于redis 的orm框架 node-ron 使用

今天好累....下班去健身房跑步运动,看着这一身肥肉,希望未来的几个月内能有一点改变,健康最重要,大家要多注意身体.开始说正题,成熟的orm框架大部分来自关系型数据库.KV数据库的orm还是比较少的,但是增速很快,支持mongodb的也陆续出来,但是如果你想找一款 redis 的orm真的少的可怜.github地址:https://github.com/wdavidw/node-ron用的人还是不多,作者官网以及测试用例用coffee script 做demo ,实在不感冒.所以我在自己把每个api 测试一把,回头奉上,所以今天的博客注定又是不完整的,现在开始写,争取做一个完整示例来说比较好.

MongoDB连接字符串格式参数及说明

MongoDB的标准连接字符串格式及参数分析说明标准格式如下:mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]mongodb:// 是一个必填的前缀,它标识当前字符串是标准连接格式。{{username:password@}}可选。给出用户名和密码后,驱动将在连接到数据库后尝试登录。host1 uri里唯一的必填项,数据库的连接地址。:portX 可选。默认连接到27017端口。/database 是希望连接到的数据库名,只有在提供 use

mongoose 连接查询控制副本集等操作引导

引用自:https://cnodejs.org/topic/5206581b44e76d216aae072e之前已经有朋友总结了mongoose的一些内容,推荐他的文章,包含了主干部分,这是接着后面写的。接下来是翻译自mongoose guide#Queries文件可以通过一些静态辅助模型的方法检索。任何涉及 指定 查询 条件的模型方法,有两种执行的方式:当一个回调函数:被传递,将立即执行的操作结果传递给回调。未被传递,返回一个查询的实例,它为您提供了一个特殊的QueryBuilder接口。让我们来看看在传递一个回调时会发生什么:varPerson=mongoose.model('Pe

正确关闭mongodb 防止数据丢失

mongodb不正确关闭会导致非常严重的问题,比如 使用 kill -9 pid 方式来关闭,如果没有开启日志的情况下,可能造成数据丢失,数据库瘫痪.运行错误:Error: error doing query: failed登录Mongodb数据库后关闭服务.>useadmin; switchedtodbadmin >db.shutdownServer(); TueNov1811:03:24.164DBClientCursor::initcall()failed servershouldbedown... TueNov1811:03:24.169tryingreconnectto1

mongoDB启动报错 ERROR: child process failed, exited with error number

上面这个错误是今天下午发现,从github down下一个应用,在应用启动前需要redis 启动服务,mongodb启动服务,所以当启动mongodb的时候悲剧出现了:zhangzhi@moke:~$mongod--dbpath=/data/club--port=27017--fork--logpath=/var/log/mongodb/mongodb.log abouttoforkchildprocess,waitinguntilserverisreadyforconnections. forkedprocess:43110 alloutputgoingto:/var/log/mongodb

CentOS 中使用 yum 安装 mongodb

(一)准备工作注意: 灰色背景均为命令行输入首先确保你的yum包含mongodb相关资源,运行下面命令查看yum info mongo-10gen如果没有找到相关资源信息,那需要你自己把mongodb的源添加进去.如何添加mongodb的源,首先需要确定你的操作系统是 32位还是 64位?如何确定?使用下面的命令uname -a如果输出的信息包含 x86_64 说明你的系统是64位,如果不包含说明是32位系统.不同版本的系统对应创建如下相关的源信息.执行如下命令创建源cd /etc/yum.repos.d/nano 10gen.repo //创建一个源文件 10gen.repo 你可以使用vi

mongoDB配置副本集

内容提供者: 海涛同学配置副本集:1.启动主服务器(110.161.51.30)mongod --replSet tulingdao -f /etc/mongodb.conf --fork2.启动副本服务器(110.163.177.72)mongod --replSet tulingdao -f /etc/mongodb.conf --fork3.在monogo shell中创建配置文件,并连接到主服务器var config = {"_id": "tulingdao","members": [{"_id":0, &

node.js 定义一个只读不可删除的全局变量

node.js 下如何定义一个只读不能删除的全局变量呢?使用下面的方法:varmongodbClients=require('./lib/common/mongodb_helper');     Object.defineProperty(global, "mongodbClient", {         value: mongodbClients,         writable: false,         configurable: false     });这样就创建了一个 mongodbClient  的全局变量,如何使用的呢?global.

mongoskin 学习总结

在node.js环境下使用mongoskin 操作mongoDB .mongoskin 的安装非常简单 npm install mongoskinmongoskin 的使用,上一篇博文已经说过,你可以返回去瞄一眼, 我是伟大的传送带下面的内容针对 mongoskin 操作 mongoDB 的api来说明:查这应该是所有数据库的灵魂,通过简单的api可以帮助我们从海量数据库总准备找到自己想要的数据.查询多条数据原生方法: find()使用: db.集合名.find([option]) [option] 为可选条件,可以空,也可以指定条件,如 {name:'xiaoxiao'}查

node.js 和 mongoskin 通过单体模式连接访问数据库

学习mongoskin时发现获取db对象时应用了单体模式,顺便温习一下.单体模式是设计模式里最简单的一个,也是最实用的一个.单体模式也叫单例模式,有个明显的特征,全局只允许初始化一次,应用场景:银行卡 ,银行系统中的每一张银行卡都是一个单体,全局只允许初始化一次,避免多终端(柜台,ATM,手机银行app,电话银行 )等同时操作存取款时而引起的数据不一致的问题.对于一个引用类型的单体对象,一个进程访问时通常会对此object加锁,保证数据同步,银行系统更要如此.看下mongoskin 连接mongoDB的代码吧.varmongoskin=require('mongoskin');

mac 如何设备全局变量$PATH

Unix加载环境变量来自3种配置文件.首先加载 /etc/profile 系统全局变量.接着是其他系统配置文件 如/etc/bashrc最后是用户自定义配置文件 ~/.bash_profile前2个是系统级的,针对所有用户,非root用户只有可读权限,修改时需要 sudo 获取root权限.而最后一个是针对当前用户的配置文件,建议修改此文件,如果当前用户目录下没有此文件 ,nano ~/.bash_profile 创建一个.如何给系统设置全局变量?加入你安装了mongoDB ,想在mac中添加mongod (服务端) mongo (客户端) 的全局环境变量.(1)首先找到你的mongoDB安装

mac 下用 brew 安装mongodb

mac 下安装mongoDB一般俩种方法.(1)下载源码,解压,编译,配置,启动 比较艰难的一种模式.(2)brew install mongodb ,然后就可以悠闲的品一口茶,顺便瞄一眼网易新闻,这是一种傻瓜模式.但傻瓜模式也有人为干预的时候,粗略说一下使用brew 安装mongodbzhangzhi@moke:~/code$ brew install mongodb此图说明已经安装成功,安装的目录就是 /usr/local/Cellar/mongodb/2.4.9第一次启动服务端,这里需要做一些准备工作.1.默认mongodb 数据文件是放到根目录 data/db 文件夹下,如果没有这个文

回到顶部