Linux中需要用到的一些node.js和mongodb命令收集

 2016年03月08日 分类:MongoDB  评论(0)  阅读(7232)

一些Linux中需要用到的一些node.js和mongodb命令收集,还有很多的朋友可以多留言给我,谢谢。

————————————–Linux:————————————–

ps aux | grep mongod:查询mongod的运行线程情况

kill -9 2968:2968表示需要杀掉的进程pid(在mongodb中我们使用kill -2 pid

mv oldfilename newfilename:用户可以使用该命令为文件或目录重命名或将文件由一个目录移入另一个目录中。

cp: 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中。

yum install –installroot=/usr/local/soft/mysql:通过yum自定义安装位置

tail -f file-path:可以实时查看到日志文件的输出

————————————–Node.js:————————————–

————————————–MongoDB:————————————–

mongod –dbpath /usr/local/mongodb/data/db –port 27017(默认) –logpath /usr/local/mongodb/data/logs –nojournal false –auth –fork:这个是启动mongodb数据库需要用到的命令参数,可以百度搜索mongodb数据库命令行参数

数据库相关

use mydbs:选择数据库

db.shutdownServer():关闭mongodb数据库

db.createUser({user: “username”, pwd: “password”, roles: “…”}):创建一个数据库账户或者管理员账户都行,取决于roles的权限,这点有待确定。

详细说明如下:

roles的权限可以设置成:

read: 允许用户从数据库的任何集合中读取数据
readAnyDatabase: 同read,但针对所有的数据库
readWrite: 提供read的所有功能,并允许用户写数据库中的任何集合,包括插入、删除和更新文件,以及创建、重命名和删除集合
readWriteAnyDatabase: 同readWrite,但针对所有的数据库
dbAdmin: 允许用户读取和写入数据库,以及清理、修改、亚索、得到统计概要,并进行验证
dbAdminAnyDatabase: 同dbAdmin,但针对所有的数据库
userAdminAnyDatabase: 表示仅能创建用户的能力,除此之外不能对数据库执行任何的操作。
userAdmin: 允许用户创建和修改数据库的用户账户
userAdminAnyDatabase: 同userAdmin,但针对所有的数据库
clusterAdmin: 允许用户对MongoDB执行一般的管理,包括连接、集群、复制、列出数据库、创建数据库和删除数据库

注意: readAnyDatabase、readWriteAnyDatabase、dbAdminAnyDatabase和userAdminAnyDatabase只能应用到admin数据库的用户中,因为他们必须适用于所有的数据库

db.dropUser(“username”):删除一个用户

db.auth(“username”, “password”):用户数据库的身份验证,也可以使用 mongo admin –username “username” –password “password”

show dbs:查询所有的数据库

db.dropDatabase():删除当前数据库

db.copyDatabase(“old_dbname”, “new_dbname”, [hostname]):复制一个数据库

集合相关

db.createCollection(“dbname”, [options]):创建一个集合,如果前面使用了use dbname,那么会创建一个dbname为名字的数据库

coll = db.getCollection(‘collecion_name’):选择一个集合,并且可以赋值给一个变量方便后续使用。collecion_name为集合的名称

db.getCollection(‘collecion_name’).find([query]):查询一个集合的文档,query为可选,表示查询的条件,如果为空则表示查询该集合的所有的文档。

文档相关(coll均表示一个已获得的集合)

coll = db.getCollection(‘collecion_name’)

coll.insert(options):在集合中新建一个文档,options表示需要添加的文档内容;

coll.remove(query):表示删除一个文档,query表示需要删除的内容的匹配文档内容;

coll.save(object):表示更新一个文档,object表示一个对象;

coll.update(query, update, options):表示查询集合中的文档,然后在被找到时更新这个被找到的文档,query参数指定了字段和值与集合中的文档匹配的一个查询文档。update参数为一个对象,它指定在做出更新时使用的更新运算符。例如:$inc递增该字段的值,$set设置字段的值,$push将一个条目推送到数组等(看下面的案例),options参数是一个对象,它有两个属性,multi和upsert,这两个都是布尔值。如果upsert是true,那么若没有找到就创建一个新的文档。如果multi是true,与查找匹配的所有文档都被更新;否则只有第一个文档被更新。

{$inc: {count: 1}, $set: {name: ‘zhiyan’}, $rename: {‘nickname’: ‘ajc’}}

上面的例子表示更新对象时,递增一个字段,设置另一个字段,然后重命名第3个字段。

Mongodb开机启动
 
在/etc/rc.local文件末尾添加下面的代码
#add mongodb service

rm -rf /data/mongodb_data/* && /usr/local/mongodb/bin/mongod –dbpath=/data/mongdb_data/ –logpath=/data/mongdb_log/mongodb.log –logappend –auth

MongoDB数据库备份、还原相关

mongodump -h IP –port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径

说明:如果没有-d表示导出所有数据库,否则表示导出指定数据库

mongorestore -h IP –port 端口 -u 用户名 -p 密码 -d 数据库 –drop 文件存在路径

说明:还原数据库。–drop的意思是,先删除所有的记录,然后恢复。

mongoexport -h IP –port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 –csv -o 文件名

说明:导出表格格式的数据库,上面的部分参数说明如下
-f:导出指字段,以字号分割,-f name,email,age导出name,email,age这三个字段
-q:可以根查询条件导出,-q ‘{ “uid” : “100” }’ 导出uid为100的数据
–csv:表示导出的文件格式为csv的,这个比较有用,因为大部分的关系型数据库都是支持csv,在这里有共同点

————————————–WordPress程序中的SQL查询语句:————————————–

查询所有的文章:

SELECT * FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND wp_posts.post_type = \’post\’ AND (wp_posts.post_status = \’publish\’) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC

查询某个目录下的文章:

SELECT * FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (2) ) AND wp_posts.post_type = \’post\’ AND (wp_posts.post_status = \’publish\’) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC

批量更换数据库中xx表xx字段中部分字段

update 表名 set 字段名 = replace(表名, '原本内容','想要替换成什么')

如下:

update wp_posts set guid = replace(guid, 'www.webzhi.cn','www.asni.cn')
wechat_app
微信公众号:webapp_club
关注一下,或许能让你获得更多前端咨询信息。
加载中...
分享中心
各类业务开发,联系QQ:5679361
广告位联系QQ:5679361

评论 抢沙发

评论前必须登录


如果你觉得本站内容对你有所帮助,比如提升你对编程方面的认识,你可以通过上面的二维码请博主喝杯咖啡,安好。

WEB前端开发部落(公众号:webapp_club)

群列表

前端初级学习群:初级Web前端学习群(后期为支付入群)
PHP初级学习群:PHP(MySQL)学习交流群
QQ群仅作为相关领域讨论平台,均提供高质量问题交流,禁止闲聊,无法接受的朋友请勿加群!
进群需要通过这里获取进群码才能进群哦!