网站设计建站大纲

可以直接到比较流行的域名服务提供商 Godaddy 查询自己喜欢的域名是否已经被注册,如果没有那么可以直接下单购买。通常一个普通域名一年的服务费在$20左右。域名建议:
1. 域名要有一定的含义,且易被理解,不要太长,一般15个字母以内比较好
2. 不用刻意追求和关键字相关,这个域名和最终的SEO没有任何程序上的关系

物理服务器提供商目前全球最大的应该是 亚马逊 ,但不一定是最适合您的。比如专门只做物理服务器的 Linode 也不错, 物理服务器的位置在亚太地区,欧美以及悉尼都有,用户可以根据自己的客户范围做选择。

对于普通的网站客户来说主要关注开发者的两件事情:
1. 开发周期:在合理的收费,保证满足需求的情况下,周期越短越好,一般项目周期在1~3个月,网站越复杂周期越长,费用越高。
2. 网站的自适配设计:前端网页除了美观大方外,最重要的就是要适配不同的终端,比如台式机,平板,手机,以及不同终端上的浏览器的版本。

网站设计建站大纲

SEO搜索引擎优化到底是怎么会事儿

就是做一个网站,以帮助用户为目标,用独特的用户故事,把你的服务内容、行业经验展示出来,比如新田工作室的故事

October 2015

开始知道SEO是什么

2015年8月份从国内IT公司辞职,一家人长登墨尔本,狠狠的休息了两个多月,开始找工作。经一个朋友介绍认识了做电脑维修的Geo,他是从墨尔本一家本地电脑维修公司辞职自己当老板,刚起步的时候客户来源是个问题,好在Geo年轻,不光是修理电脑的专家,对IT方便的很多方面也都了解,他请一个自由的IT职业者帮他做好了宣传网站 ,也做了运维后台,并且在谷歌投放广告,据介绍是$1100/月的广告费,很快他的业务量就起来了,按George的原话说就是:”用半年的时间达到了两年的业务量的预期”。后来他慢慢的把谷歌广告撤出,请人对网站做SEO优化,慢慢的不用做广告也能排到谷歌第一页,他特别看重SEO,说未来至少10年,SEO将有利可为。原本想在他那边打工,但因为后来找到一份IT的工作,于是就去上班了,是一份Webservice后台开发的工作,轻车熟路,公司位于South Yarra火车站附近,每天从Glen Waverley出发,到Richmond转车。

November 2016

开发第一个驾校网站

回到2015年刚到墨尔本的时候,因为要考驾照找到了当时我的教练,是一个邻居推荐的,人很好。那时候我因为英语不是很好,找工作经常遇到挫折,另外国内做了十几年的IT,有点厌倦了,半开玩笑的问张教练要怎样做才能取得教练资格,张教练居然耐心的给我讲了半个多小时,因为报名费不是很贵,那时候有Concession卡,可以打折,然后我当时也去报名了,每周六上一天的课,上16周,就可以拿到一个IV级的证书再去申请就行。期间找到了工作,于是就上班去了。这边的工作压力和国内简直不能相比,一天的工作量差不多两小时左右,剩下的时间就是喝咖啡聊天,每天下午都打瞌睡,然后每天上午7:30从家里出发走到火车站,下午5.30从公司出发7:00到家,一天差不多12个小时在外面,照顾不上家里,慢慢的想辞去工作,正好这时候教练证书也申请下来了。并且重点是,不用辞职,公司因为资金问题,裁员和另外一个公司合并了。于是便继续找工作边开发教练网站。

December 2016                         

驾校网站pigeonbooking上线

刚开始当教练学员很少,一周有时候只能上一两次课,网站的排名基本上谷歌是查不到的,于是就到亿忆网上做广告,在今日墨尔本上也发帖子,微信朋友圈也发。发什么内容呢?我当时没有参考其他驾校的发帖内容,也没有想要去付费做广告(太穷:-),我当时就想,如果我是一个学员想找教练学车,我希望看到什么样的帖子内容?我发的帖子的内容是否是学员想看的。基本上两三天我会发一条回帖到广告贴里面,这样过了三个多月,帖子积累了30多个内容,基本涵盖了学员学车和路考的大部分的教学点,比如路考的考点分析,中英文指令,交规和风险测试等内容。忽然有一天我在谷歌里面搜索“墨尔本驾驶教练” 我的网站居然出现在首页第三名,第四名也是我在亿忆网上发的广告贴,当然这时候我的学员虽然没有那么多,但基本上每天都可以排课了。我给学员上课的时候一般都会问一句“您是怎么找到我的”,有些说是朋友介绍,有些说是谷歌搜索的,那我就会问他们搜索的关键词是什么,虽然五花八门,但基本有规律可循。还有一点就是,课后有些需要复习的内容,我会放在网站上,让学员回去看,这样基本上能保证每个学员都会多次访问我的网站。

October 2017

工作室启动

这时候第一个网站pigeonbooking.com.au的几个主关键词排名已经稳定在谷歌搜索第一页的前三名,继续丰富内容,开发了第一个版本的维州交规题库150题。使用谷歌分析平台search console和 analytics对访问数据进行监控,这个时候的平均每天的用户数是10个左右。因为每天要接送小孩上学,每天排驾驶课三次课,所以这个时候基本上每天都可以排满课,学员大部分都是来源于朋友推荐,或者是学员之间相互推荐。网站上找的学员大概占20%左右,但是一个新的学员可能是一个爆发点,比如有一个学员是Monash大学的学生,他在谷歌上搜索找到我,然后觉得教的不错,于是他们宿舍里面的四个室友全都在我这边学车考驾照。期间亿忆网的帖子因为里面有微信二维码,被系统删除了,我又重新写了一个新帖子,这个帖子用了四个多月才又回到谷歌搜索的第一页。因为有了一些经验,觉得不能随意放弃自己的老本行,于是酝酿开自己的工作室,启动工作室网站的设计、开发。

April 2018

工作室网站上线运行

上线之前,还是一样到亿忆网和今日墨尔本上发了广告贴,对于所有想在澳洲推广自己生意的客户来说,这两个网站的用户流量和粘性,在华人市场都是要重点关注,不可忽视的。上线之前,对于工作室的业务使用的域名服务商https://www.godaddy.com/,物理服务器提供商https://www.linode.com/ ,邮件服务器提供商https://mailgun.com/等都做了一些深入的了解和对比,并整理了一些批处理脚本,比如MongoDB、Tomcat,JDK等安装和更新脚本(大多数开发人员都会这样偷懒,其实就是提高效率),准备了一些开发工具比如FileZilla,Postman,Eclipse,AndroidStudio和Xcode,利用上一年的退税,给自己置办了一台奢侈的Mac苹果电脑作为开发主机,8G的内存,512G的闪存,效率高到无法描述,也是作为一个开发人员最开心的一个硬件啦。然后打油诗一首,工作室上线:

曾幻想
在城市的某个角落
开一间有空书架的咖啡屋

来的每个人都是一本书
书里都有一些故事
或精彩或平淡

来了,书架就不空
坐下来捧一本书,喝一口咖啡
或苦或甜,不管贵贱,都是真滋味

喝完咖啡,品完故事,起身离开
身心俱备,迎接明天

如今咖啡屋搭好了
一次点击的距离
你,能来吗

23 July 2018 

工作室第一个客户

必然的,会有第一个客户,并且这个客户一定不是通过谷歌搜索找到我的,而是通过亿忆网上发的帖子找到我的http://www.yeeyi.com/bbs/thread-4114274-1-1.html,也是非常奇特的一个客户:下午两点,驾驶课刚下课,接到电话说想做一个简单的网站,没有什么要求,就是一个网站放一些简单的信息,比如公司的ACN,电话,地址,上班时间等,客户要求下午六点前要上线,因为他的一个手机配件生意要settlement,需要有一个网站,截止时间就是当天,我的天,我当时第一反应是拒绝,但是听电话那头的声音... 有点为难。狠狠心说行,约了下午3:00在Glen Waverley图书馆见面,我问他要信息,他打电话给一一要来,当面把钱给了我现金。到现在我都不记得他的名字,但是我为自己没有拒绝这个生意而欣慰,因为他是一个朴素的生意人。回到家4:00(幸好离家近啊),1. 申请域名5分钟,2. 申请物理服务器10分钟(安装脚本自动跑完应用服务器环境)3. 开发网站30分钟,因为没有特殊的需求,信息放上去很简单,稍微测试一下,4:50上线,5:10客户打电话要求把上班的时间调整一下,首页的图片换为手机配件的。5:30客户发短信来表示感谢。这个项目就完成了使命。因为操作的太急,域名费直接付了两年的,但客户要求网站存在三个月就可以了,这也是一个项目,一类体验,一种生活。

September 2018

工作室第二个客户

不出所料,客户还是通过亿忆网的帖子找到的我,客户是在墨尔本西南区做卖房布置生意的,因为业务的发展需要有一个生意的网站,发布价格信息,并做一些生意的展示,网站需求比较简单,唯一的特殊需求是需要一个域名邮箱(这个我之前只是研究了一些第三方平台,没有实践,有点小激动),当面交流了一下,客户把项目的全款都付了,真是信任。夫妻两个人都是山东老乡,来Glen Waverley见面的另外一个主要原因是想在Kingsway这边约好朋友吃一顿好的中餐。而这时候我的工作室的网站排名已经到了主关键词“墨尔本网站设计,墨尔本网站制作”的第二页,看到了希望。经过努力,项目一周内上线,期间微信交流了两次,对里面的文字和价格信息做了调整。客户对网站的文字编辑很满意。这个信任建立后,工作室后面的两个网站都是这个客户介绍的。所以,如果网站搜索比作是找到客户大门的一把钥匙的话,那么自己对客户负责,把工作做好,就是推开折扇大门的双手,有了钥匙和打开门的力量,客户就在你的面前。

November 2018                           

工作室面临的第一个挑战

一个驾校教练找到我,想让我帮他们驾校做一个网站,天哪,给竞争对手做网站?待续...

... ...

岁月像水一样流淌

... ...

关于SEO,搜索引擎优化的一个比喻

比如您开了一家奶茶店想吸引更多客户

1. 使用谷歌的Adwords广告,就好比您请了一个大嗓门,很漂亮的,也很会帮您促销的人,TA可以很快吸引到一大批想要喝奶茶的人,这些客人里面,有真正想来尝尝的,有来凑热闹的,有对奶茶有兴趣但不是很狂热的,总之,各种客户都来了,人多热闹,收入提高了。唯一闹心的是可能您的奶茶店要付一笔可观的费用给这个大嗓门,虽然值得,作为店老板的您总觉得这笔定期的支出是多余的,不花这笔费用吧,生意落差也很大,纠结。
2. 找SEO专家,帮您做几个月的SEO优化。SEO能做什么呢?SEO能让真正想喝奶茶的人主动找到您的店(很多搜索的人是直接避开谷歌Ad广告的),客人为什么是主动找到您的,因为是谷歌主动推荐的非广告排名,而客人都相信这个谷歌排名(和某度有本质区别)。SEO做的事情,就是让谷歌主动推荐您。比如SEO会让【客人】和【谷歌】都知道您的奶茶原料里包含锡兰红茶、印度阿萨姆红茶,您店的具体临街在电车站旁,店里面的定期促销信息和小礼品,客人喜欢店里的高脚椅,也喜欢店里的芒果布丁;SEO还可以让【客人】和【谷歌】都知道您的店和其它的店不一样,您的店里面有个像会所一样的洗手间,有轻音乐,有会中、英、粤语的店员。SEO帮您理清楚,您是奶茶行业的专业人员,您的服务独特或者说是差异化与其它的奶茶店,所以谷歌分析后才会推荐您的店,客人在您的网站上看到了他们想要的信息,帮助到了他们,所以才会想来尝试一下,不是每个客人都是因奶茶而来,有人是因为店内的音乐而驻足,有人是因为临时进店用洗手间而停留,也有人是因为听到了熟悉的客家话而转身。客人是慢慢的多起来的,大部分都是回头客或者是客人相互介绍,通过谷歌搜索来的不是很多,一旦来了,并且认可了店里面的产品和服务,那TA的就可能把TA的朋友和家人介绍过来,所以SEO主要是帮您找到新的客人,但能不能留住客户确实是您店的实力所在
3. 不管是Google的Ads还是SEO搜索优化,都只是您生意的一个助力工具,是辅助作用,决不能是主导作用。两种方法不冲突,只是做的内容不同。简单来说谷歌广告是简单粗暴的把您的信息告诉给广泛的客户来增加流量,简单有效花费较高。而SEO搜索优化,则是帮您提取您生意的有效、独特的信息,通过发布这些信息帮助您的潜在客户以得到客户的认可而吸引客户,需要花点心思,也需要一定的支出,长期来看效果更好。

用心,才能做对的事

网站设计开发和SEO也是一个生意

工作室目前做的这些网站和SEO的案例,都没有使用特别的工具和增加流量的方法,只是使用了谷歌的Search-Console和 Google Analytics作为后面的统计和检测工具,所有的外部链接都是基于内容去帮助用户而设置的,因为在工作室的经验里面,流量和排名不是最重要的,最重要的是要做一个网站,其内容要有效的帮助到您生意的最终客户,要做到这一点,您的生意必须是具备一定的实力(即使是起步的生意也要体现出您的专业),最好还有一定的口碑,这样才能留住这些客户,进而转化成您生意的销售,否则即使排名上去了,流量并不能转化为销售量,因为现在的用户都不傻,而谷歌更聪明
.
.
.
静待花开,蝴蝶自来

网站开发指令备忘

Select the menu Window > Preferences > General > Keys and assign a shortcut key for ‘Compare with Other Resource‘:I’m using Ctrl+Shift+C, when in Eclipse while cursor focus on the left Project Explorer.

1. 更新安全证书直接运行 :sudo certbot renew --dry-run 或者参考网站上证书更新
2. 如果更新有问题,可以执行如下步骤重新做证书,先分别下载证书,再合并证书,在如下这两个步骤之前,可以 考虑先将tomcat的Https配置修改为http的,修改server.xml和web.xml两个文件
(1) # sudo certbot certonly --webroot -w /var/lib/tomcat9/webapps/ROOT -d pigeonbooking.com.au -d www.pigeonbooking.com.au
(2) # sudo certbot certonly --webroot -w /var/lib/tomcat9/webapps/amala -d amala.com.au -d www.amala.com.au
(3) # sudo certbot certonly --standalone -d pigeonbooking.com.au -d www.pigeonbooking.com.au -d amala.com.au -d www.amala.com.au

META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW":不许抓取本页,但是可以顺着本页抓取索引别的链接
META NAME="ROBOTS" CONTENT="INDEX,FOLLOW, archive" 因此,如果我们对于这一部分把握不准的话,可以直接写上上面的这一行命令,或者是直接留空。
确定域名在 https://search.google.com/ 上面三种情况都已经验证完毕

// iptable
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

// Secondly, run sudo apt-get install iptables-persistent, and follow the prompts. When it asks to save the current rules, hit "Yes" at both prompts. Now, on reboots, your iptables rules will be restored.

// install jdk8
apt-get install software-properties-common
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
javac -version

成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。

输入help可以看到基本操作命令:

show dbs:显示数据库列表

show collections:显示当前数据库中的集合(类似关系数据库中的表)

show users:显示用户

use :切换当前数据库,这和MS-SQL里面的意思一样

db.help():显示数据库操作命令,里面有很多的命令

db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令

db.foo.find():对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)

db.foo.find( { a : 1 } ):对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1

MongoDB没有创建数据库的命令,但有类似的命令。

如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。

数据库常用命令

1、Help查看命令提示

help

db.help();

db.yourColl.help();

db.youColl.find().help();

rs.help();

2、切换/创建数据库

use yourDB;当创建一个集合(table)的时候会自动创建当前数据库

3、查询所有数据库

show dbs;

4、删除当前使用数据库

db.dropDatabase();

5、从指定主机上克隆数据库

db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库

6、从指定的机器上复制指定数据库数据到某个数据库

db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中

7、修复当前数据库

db.repairDatabase();

8、查看当前使用的数据库

db.getName();

db; db和getName方法是一样的效果,都可以查询当前使用的数据库

9、显示当前db状态

db.stats();

10、当前db版本

db.version();

11、查看当前db的链接机器地址

db.getMongo();

Collection聚集集合

1、创建一个聚集集合(table)

db.createCollection(“collName”, {size: 20, capped: 5, max: 100});

2、得到指定名称的聚集集合(table)

db.getCollection("account");

3、得到当前db的所有聚集集合

db.getCollectionNames();

4、显示当前db所有聚集索引的状态

db.printCollectionStats();

用户相关

1、添加一个用户

db.addUser("name");

db.addUser("userName", "pwd123", true); 添加用户、设置密码、是否只读

2、数据库认证、安全模式

db.auth("userName", "123123");

3、显示当前所有用户

show users;

4、删除用户

db.removeUser("userName");

其他

1、查询之前的错误信息

db.getPrevError();

2、清除错误记录

db.resetError();

查看聚集集合基本信息

1、查看帮助 db.yourColl.help();

2、查询当前集合的数据条数 db.yourColl.count();

3、查看数据空间大小 db.userInfo.dataSize();

4、得到当前聚集集合所在的db db.userInfo.getDB();

5、得到当前聚集的状态 db.userInfo.stats();

6、得到聚集集合总大小 db.userInfo.totalSize();

7、聚集集合储存空间大小 db.userInfo.storageSize();

8、Shard版本信息 db.userInfo.getShardVersion()

9、聚集集合重命名 db.userInfo.renameCollection("users"); 将userInfo重命名为users

10、删除当前聚集集合 db.userInfo.drop();

聚集集合查询

1、查询所有记录

db.userInfo.find();

相当于:select* from userInfo;

默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。注意:键入it命令不能带“;”

但是你可以设置每页显示数据的大小,用DBQuery.shellBatchSize= 50;这样每页就显示50条记录了。

2、查询去掉后的当前聚集集合中的某列的重复数据

db.userInfo.distinct("name");

会过滤掉name中的相同数据

相当于:select distict name from userInfo;

3、查询age = 22的记录

db.userInfo.find({"age": 22});

相当于:select* from userInfo where age= 22;

4、查询age>22的记录

db.userInfo.find({age: {$gt: 22}});

相当于:select* from userInfo where age>22;

5、查询age<22的记录

db.userInfo.find({age: {$lt: 22}});

相当于:select* from userInfo where age<22;

6、查询age>= 25的记录

db.userInfo.find({age: {$gte: 25}});

相当于:select* from userInfo where age>= 25;

7、查询age<= 25的记录

db.userInfo.find({age: {$lte: 25}});

8、查询age>= 23 并且 age<= 26

db.userInfo.find({age: {$gte: 23, $lte: 26}});

9、查询name中包含 mongo的数据

db.userInfo.find({name: /mongo/});

//相当于%%

select* from userInfo where name like ‘%mongo%’;

10、查询name中以mongo开头的

db.userInfo.find({name: /^mongo/});

select* from userInfo where name like ‘mongo%’;

11、查询指定列name、age数据

db.userInfo.find({}, {name: 1, age: 1});

相当于:select name, age from userInfo;

当然name也可以用true或false,当用ture的情况下河name:1效果一样,如果用false就是排除name,显示name以外的列信息。

12、查询指定列name、age数据, age>25

db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});

相当于:selectname, age from userInfo where age>25;

13、按照年龄排序

升序:db.userInfo.find().sort({age: 1});

降序:db.userInfo.find().sort({age: -1});

14、查询name = zhangsan, age = 22的数据

db.userInfo.find({name: 'zhangsan', age: 22});

相当于:select* from userInfo where name = ‘zhangsan’ and age = ‘22’;

15、查询前5条数据

db.userInfo.find().limit(5);

相当于:selecttop5* from userInfo;

16、查询10条以后的数据

db.userInfo.find().skip(10);

相当于:select* from userInfo where id not in (

selecttop10 * from userInfo

);

17、查询在5-10之间的数据

db.userInfo.find().limit(10).skip(5);

可用于分页,limit是pageSize,skip是第几页*pageSize

18、or与 查询

db.userInfo.find({$or: [{age: 22}, {age: 25}]});

相当于:select* from userInfo where age = 22 or age= 25;

19、查询第一条数据

db.userInfo.findOne();

相当于:selecttop1* from userInfo;

db.userInfo.find().limit(1);

20、查询某个结果集的记录条数

db.userInfo.find({age: {$gte: 25}}).count();

相当于:selectcount(*) from userInfo where age>= 20;

21、按照某列进行排序

db.userInfo.find({sex: {$exists: true}}).count();

相当于:selectcount(sex) from userInfo;

索引

1、创建索引

db.userInfo.ensureIndex({name: 1});

db.userInfo.ensureIndex({name: 1, ts: -1});

2、查询当前聚集集合所有索引

db.userInfo.getIndexes();

3、查看总索引记录大小

db.userInfo.totalIndexSize();

4、读取当前集合的所有index信息

db.users.reIndex();

5、删除指定索引

db.users.dropIndex("name_1");

6、删除所有索引索引

db.users.dropIndexes();

修改、添加、删除集合数据

1、添加

db.users.save({name: ‘zhangsan’, age: 25, sex: true});

添加的数据的数据列,没有固定,根据添加的数据为准

2、修改

db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true);

相当于:update users set name = ‘changeName’ where age= 25;

db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true);

相当于:update users set age = age + 50 where name = ‘Lisi’;

db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true);

相当于:update users set age = age + 50, name = ‘hoho’ where name = ‘Lisi’;

3、删除

db.users.remove({age: 132});

4、查询修改删除

db.users.findAndModify({

query: {age: {$gte: 25}},

sort: {age: -1},

update: {$set: {name: 'a2'}, $inc: {age: 2}},

remove: true

});

db.runCommand({ findandmodify : "users",

query: {age: {$gte: 25}},

sort: {age: -1},

update: {$set: {name: 'a2'}, $inc: {age: 2}},

remove: true

});

update或remove其中一个是必须的参数; 其他参数可选。
作者:你本来就很牛
链接:https://www.jianshu.com/p/0a52c672ae78
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

(1). Backup and Restore
i. Backup whole database: $CONTENT$gt;mkdir mongobak $CONTENT$gt;cd mongobak $CONTENT$gt;mongodump
Resutl:
Bakpath: ./dump/[databasename]/[collectionname].bson
ii. Backup the specified database
$CONTENT$gt;mongodump -d omtdb
Result:
Bakpath: ./dump/[databasename]/[collectionname].bson
iii. Database restore
$CONTENT$gt;cd mongobak
$CONTENT$gt;mongorestore --drop :// restore all data and drop the data in db. $CONTENT$gt;mongorestore -d omtdb --drop //just restore the omtdb
$CONTENT$gt;mongorestore -d omtdb –c userMessage –drop ;// just restore collection
iv. Export data from Mongodb
$CONTENT$gt;mongoexport -d omtdb -c userMessage -q {} -f _id,name,email,datetime,notes --type=csv > pages.csv
$CONTENT$gt;mongoexport -d omtdb -c historyPriceVO -q {} --type=json >historyPriceVO.json
v. Import data to Mongodb
$CONTENT$gt;mongoimport -d omtdb -c page --type csv --headerline --drop < csvORtsvFile.csv ; // type include: csv,json,tsv
$CONTENT$gt;mongoimport -d omtdb -c historyPriceVO -j 4 --type json --drop
附录另外一种备份方式更实用:
1. ># mongodump --archive=bookme.archive --db bookme
2.># mongorestore --archive=bookme.archive --drop
3.关闭mongodb:># mongo > use admin switched to db admin > db.shutdownServer()

网站开发指令备忘

© Copyright 2018-Present 墨风信科 - All Rights Reserved.