Mongo创建文档

插入并保存文档 db.foo.insert({"bar": "baz"}) 这个操作会给文档自动增加一个"_id"键(要是原来没有的话),然后将其保存到MongoDB中。 批量插入 如果要向集合中插入多个文档,使用批量插入会快一些。使用批量插

Mongo_Shell基础操作

运行shell MongoDB自带JavaScript shell,可在shell中使用命令行与MongoDB实例交互。 shell是一个功能完备的JavaScript解释器,可运行任意JavaScript

MongoDB基础

文档是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行,但更具表现力。 类似地,集合(collection)可以看作是一个拥有动态模式(dynamic schema)的表。 MongoD

go_mod的使用

Go 的包管理方式是逐渐演进的, 最初是 monorepo 模式,所有的包都放在 GOPATH 里面,使用类似命名空间的包路径区分包,不过这种包管理显然是有问题,由于包依赖可能会引入破坏性更新,生产环境和测试环境会出现运行不一致的问题。 从

count(1)与count(x)的区别

count(1) and count(*) **当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! ** 从执行计划来看,count(1)和count()的效果是一样的。 但是在表做过分析之后,count

索引

唯一索引 唯一索引是索引具有的一种属性,让索引具备唯一性,确保这张表中,该条索引数据不会重复出现。在每一次insert和update操作时,都会进行索引的唯一性校验,保证该索引的字段组合在表中唯一。 db.containers.createIndex({name: 1},{unique:true,

开启查询日志

开启查询日志 方法一:执行MongoDB命令 这个命令只能设置单个组件的日志等级,如果想要一次性设置多个组件的日志等级,可以使用下面的方法: 新建 start_log.js, 内容如下 db.adminCommand( { setParameter: 1, logComponentVerbosity: { verbosity: 1, query: { verbosity: 2 },

清除sidekiq任务

sidekiq清空队列里任务的方式主要有两种,一是使用sidekiq的api,二是直接操作redis 一、使用sidekiq的api清空队列的任务 sidekiq里有提供操作队列的api,首先引入 require’sidekiq/api' 获取所

ruby多层数组排序

例子如下: 用sort_by def order_weight_sort_by(string) string.split(" ").sort_by do |a| sum_a = a.split("").inject(0) { |mem, var| mem += var.to_i } first_number = a[0].to_i [a.size, sum_a, first_number] end.join(" ") end string = “56 65 74 100 99 68 86 980 90” p order_weight_sort_by(string ) 结果是"90 56 65 74 68 86 99 100 980" 上面的方法是先将字符串变成一个由数字字符串组成的数组。然后

rails验证码

rails验证码 1.安装包 gem 'rucaptcha' gem 'dalli' 2.配置路由 (最新版本的不用配置路由) mount RuCaptcha::Engine => "/rucaptcha" 3.controller部分 def create @user = User.new(user_params) if verify_rucaptcha?(@user)&&@user.save ...... 4.view部分 <div class="form-group "> <%= rucaptcha_input_tag( class:'form-control rucaptcha-text') %> <a href="#" class='rucaptcha-image-box'><%= rucaptcha_image_tag(class:'rucaptcha-image', alt: 'Captcha') %></a> </div> 5.实现点击图片刷新验证码 #

参数路由与路由冲突解决与筛选路由

有时候我需要写一个页面能向show edit 那样可以接受参数的路由,弄了好久不知道怎样解决,今天恍然大悟 我们执行 rake routes 就会看到如下 wechat_nodes GET /wechat/nodes(.:format) wechat/nodes#index POST /wechat/nodes(.:format) wechat/nodes#create new_wechat_node GET /wechat/nodes/new(.:format) wechat/nodes#new edit_wechat_node GET /wechat/nodes/:id/edit(.:format) wechat/nodes#edit wechat_node GET /wechat/nodes/:id(.:format) wechat/nodes#show PATCH /wechat/nodes/:id(.:format) wechat/nodes#update PUT /wechat/nodes/:id(.:format) wechat/nodes#update DELETE /wechat/nodes/:id(.:format) wechat/nodes#destroy 这是使用resource

存储过程添加列

存储过程添加列 create procedure add_col( in model_name text, in col_name text, in col_info text, out result text ) begin if not exists( select * from information_schema.COLUMNS where TABLE_NAME = model_name and COLUMN_NAME = col_name) then set @ddl=CONCAT('alter table ', model_name, ' add column ', col_name, col_info); prepare stmt from @ddl; execute stmt; set result = 'success'; else set result = 'exists'; end if; end; set @result = ''; call add_col('dc_employee','senior_1 ','tinyint(1) NULL DEFAULT 0 COMMENT "是否是高级用户,0 不是 1 是&#

MySQL隔离级别

MySQL隔离级别 隔离级别是针对数据库 ACID 中的I(隔离性)来说的 原子性 一致性 隔离性 持久性 隔离性 通常来说,一个事务所做的修改,在最终提交以前,对其他事务是不可见的,为什么是 “通常来说”,因为这种特性和隔离