Mongodb定时备份脚本和清除脚本

Mongodb用的是可以热备份的mongodump和对应恢复的mongorestore,在linux下面使用shell脚本写的定时备份,代码如下

1.定时备份

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash  
sourcepath='/usr'/bin #mongodump命令所在路径
targetpath='/var/lib/mongo/mongobak' #备份存放位置
nowtime=$(date +%Y%m%d)

start()
{
${sourcepath}/mongodump -u username -p password -d dbname --host 127.0.0.1 --port 27017 --out ${targetpath}/${nowtime}
}
execute()
{
start
if [ $? -eq 0 ]
then
echo "back successfully!"
else
echo "back failure!"
fi
}

if [ ! -d "${targetpath}/${nowtime}/" ]
then
mkdir ${targetpath}/${nowtime}
fi
execute
echo "============== back end ${nowtime} =============="

Read More

MongoDB aggregate 运用篇 个人总结

最近一直在用mongodb,有时候会需要用到统计,在网上查了一些资料,最适合用的就是用aggregate,以下介绍一下自己运用的心得。。

别人写过的我就不过多描述了,大家一搜能搜索到N多一样的,我写一下我的总结。

基础知识

请大家自行查找更多,以下是关键文档。

操作符介绍:

$project:包含、排除、重命名和显示字段

$match:查询,需要同find()一样的参数

$limit:限制结果数量

$skip:忽略结果的数量

$sort:按照给定的字段排序结果

$group:按照给定表达式组合结果

$unwind:分割嵌入数组到自己顶层文件

Read More

mongodb连接失败原因排查

安装了mongodb,添加了管理员root和test数据库的用户rex,并且开启的用户认证。

按照说明文档连接mongodb数据库:$mongo = new Mongo(“mongodb://rex:123456@localhost”);

结果开启firebug之后发现报错:”NetworkError: 500 Internal Server Error - http://192.168.202.132/montest.php"

在这里尝试了很多方法都无法解决,也不清楚为什么出了错,只能再看一遍php的官方文档(http://php.net/manual/zh/mongoclient.construct.php

Read More

JQUERY插入,复制,替换和删除节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>jQuery插入,复制、替换和删除节点</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//几种添加节点的方法
$("p").append("<b>你好吗?</b>");//向p元素中追加《b》
$("<b>你好吗?</b>").appendTo("p");//将《b》追加到p元素中
$("p").prepend("<b>你好吗?</b>");//向p中前置《b》
$("<b>你好吗?</b>").prependTo("p");//将《b》前置到p元素中
$("p").after("<b>你好吗?</b>");//向p元素后插入《b》
$("<b>你好吗?</b>").insertAfter("p");//将《b》插入到p元素后边
$("p").before("<b>你好吗?</b>");//在p元素之前添加《b》
$("<b>你好吗?</b>").insertBefore("p");//将《b》插入到p元素前面


//几种删除节点的方法
var $li=$("ul li:eq(1)").remove();//删除ul节点中第2个元素节点
$("ul").append($li);//把刚删除的元素节点从新添加到ul元素中去
$("ul li").remove("li[title!=菠萝]");//将ul元素下title属性不等于"菠萝"的li元素删除
$("ul li:eq(1)").empty();//清空ul节点下第2个li元素的内容

//复制节点
$("ul li").click(function(){
$(this).clone(true).appendTo("ul");//复制当前点击的节点,并将它追加到《ul》元素中,当添加参数时复制它的事件
});

//替换节点
$("p").replaceWith("<strong>你最不喜欢的水果是?</Strong>");
$("[name='rp']").replaceWith("<tr><td>gg</td><td>gg</td><td>gg</td><td>gg</td></tr><tr><td>gg</td><td>gg</td><td>gg</td><td>gg</td></tr>");

});
</script>
</head>
<body>
<p>你好!</p>
你最喜欢的水果是?
<ul>
<li title="苹果">苹果</li>
<li title="橘子">橘子</li>
<li title="菠萝">菠萝</li>
</ul>
</body>
</html>

正则表达式匹配URL——给URL地址加上<a>链接

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function replace_url ($content) {
if (empty($content)) return;

//给URL地址加上 <a> 链接
$preg = '/(?:http:\/\/)?([\w.]+[\w\/]*\.[\w.]+[\w\/]*\??[\w=\&\+\%]*)/is';
$content = preg_replace($preg, '<a href="http://\1" target="_blank">\1</a>', $content);

return $content;
}

echo replace_url('百度:http://blog.csdn.net/moqiang02');
?>