魏长东

weichangdong

正在查看: 2015年08月日志归档(第 1 页 / 共 3 篇)

MongoDB常用方法

一、查询

 

find方法

db.collection_name.find();

 

查询所有的结果:

select * from users;

db.users.find();

指定返回那些列(键):

select name, skills from users;

db.users.find({}, {'name' : 1, 'skills' : 1});

补充说明: 第一个{} 放where条件 第二个{} 指定那些列显示和不显示 (0表示不显示 1表示显示)

where条件:

1.简单的等于:

select name, age, skills from users where name = 'hurry';

db.users.find({'name' : 'hurry'},{'name' : 1, 'age' : 1, 'skills' : 1});

2.使用and

 

select name, age, skills from users where name = 'hurry' and age = 18;

db.users.find({'name' : 'hurry', 'age' : 18},{'name' : 1, 'age' : 1, 'skills' : 1});

3.使用or

 

 

select name, age, skills from users where name = 'hurry' or age = 18;

db.users.find({ '$or' : [{'name' : 'hurry'}, {'age' : 18}] },{'name' : 1, 'age' : 1, 'skills' : 1});

4.<, <=, >, >= ($lt, $lte, $gt, $gte )

select * from users where age >= 20 and age <= 30;

db.users.find({'age' : {'$gte' : 20, '$lte' : 30}});

5.使用in, not in ($in, $nin)

select * from users where age in (10, 22, 26);

db.users.find({'age' : {'$in' : [10, 22, 26]}});

6.匹配null

select * from users where age is null;

db.users.find({'age' : null);

7.like (mongoDB 支持正则表达式)

select * from users where name like "%hurry%";

db.users.find({name:/hurry/}); 

select * from users where name like "hurry%";

 

 

db.users.find({name:/^hurry/}); 

8.使用distinct

select distinct (name) from users;

db.users.distinct('name');

9.使用count

select count(*) from users;

db.users.count();

 

»»阅读全文

redis-cli的一些有趣也很有用的功能

redis-cli我们最常用的两个参数就是-h、-p、-a选项,分配用来指定连接的redis-server的host和port。

通过redis-cli –help发现,redis-cli还提供了其他很多的参数和功能。

-x-x选项从标准输入(stdin)读取最后一个参数。 比如从管道中读取输入:

»»阅读全文

fluentd同时同步两个文件

我们6个前端机用fluentd同步数据到aws的s3.感觉这个很强大的样子。

同时同步两个文件,配置如下:

 

<match debug.**>
  type stdout
</match>
<source>
  type forward
</source>
<source>
  type http
  port 8888
</source>
<source>
  type debug_agent
  bind 127.0.0.1
  port 24230
</source>

<source>
  type tail
  format /^(?<remote>[^ ]*) - (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+)(?: +(?<path>[^\"]*) +\S*)?" (?<code>[^ ]*) (?<size>[^ ]*)(?: "(?<referer>[^\"]*)" "(?<agent>[^\"]*)" (?<request_length>[^ ]*) (?<request_time>[^ ]*))?$/
  time_format %d/%b/%Y:%H:%M:%S %z
  path wcd/nginx/feedback.m.360.cn_access.log
  pos_file wcd/nginx/feedback.m.360.cn_access.log.pos
  tag s3.nginx.access
</source>

<source>
  type tail
  format none
  path wcd/partner_appsflyer/*
  pos_file wcd/nginx/partner_appsflyer.log.pos
  tag s3.logs.access
</source>

<match s3.logs.*>
  type s3

  aws_key_id ****
  aws_sec_key ***
  s3_bucket wcd
  s3_region ap-southeast-1
  s3_object_key_format %{path}/%{time_slice}_s1_%{index}.%{file_extension}
  path logs
  buffer_path wcd/td-agent/buffer/s3test
  flush_interval 1m

  time_slice_format %Y%m%d/%H
  time_slice_wait 10m
  utc

  format json
  include_time_key true
  include_tag_key false

  buffer_chunk_limit 2g
</match>

<match s3.nginx.*>
  type s3

  aws_key_id *
  aws_sec_key *
  s3_bucket web-server-log
  s3_region ap-southeast-1
  s3_object_key_format %{path}/%{time_slice}_s1.%{file_extension}
  path log
  buffer_path wcd/td-agent/buffer/s3
  #flush_interval 1m

  time_slice_format %Y%m%d/%H
  time_slice_wait 10m
  utc

  format json
  include_time_key true
  include_tag_key false

  buffer_chunk_limit 2g
</match>