Rtag cli tools dev

mi1itray.axe published on
3 min, 558 words

Categories: Develop

自己无聊,想开发开发。想着最近需要一个tag管理的系统,我用的是windows的,文件管理是层级管理,不是tag的,想着写一个也不难,就自己写了一下。开发语言用rust,数据库使用mongodb,手很生,写了好几天,累死✌了。

github地址: https://github.com/Military-axe/rtag

一个tag管理的系统,为了方便使用tag查找文件使用tag记录对应的值,找个值是文件路径/单纯的值.

使用mongodb数据库存储数据,rust编程

安装

编译项目

cargo build

target目录下debug下可以找到rtag_data.exe

源码也可以在其他平台编译,没差的啦

数据库

集合tags

存在多个文档,一个文档代表一个tag,每个文档中的值如下

{
  "_id": {
    "$oid": "64e714b28054de22d73432e0"
  },
  "tag": "test", // tag名称
  "value": [     // 包含此tag的值
    "text0",
    "text1"
  ]
}

集合values

以values为主的集合,一个values一个文档

{
    "_id": {
    "$oid": "64e714b28054de22d73432e0"
  },
  "value": "test", // 值
  "tag": [         // tag
    "v1",
    "v2"
  ]
}

命令行参数

  • -v/--value: 目标value
  • -t/--tag: 目标tag

value + tag : 插入值到对应tag中 value: 所有包含字符串的值以及对应的tag tag: 展示有一个tag或者多个tag的值

  • -i/--import: 导入json文件进入数据库中
  • -e/--export: 导出数据库内容进入json文件中

添加值和对应的tag

babyre打上rc4,base64两个不同的tag。或者是更新这个值的tag。

rtag -t rc4 base64 -v babyre

查看tag下所有的值

查看有rc4,base64两个tag的值

rtag -t rc4 base64

模糊搜索值以及对应tag

搜索包含re两个字符的值以及对应的tag

rtag -v re

配置

配置数据库,后面考虑加入更多数据配置相关的,配置文件采用toml格式。

配置文件的路径通过RTAG环境变量来配置,值是路径,文件名是rtag.toml

$RTAG="C:/Documents/config"
  • mongodb_url: mongodb_url地址
  • database_name: 数据库名,默认是rtag
  • tags_collect: tags的集合名,默认是tags
  • values_collect:values的集合名,默认是values
[database]

mongodb_url = "mongodb://localhost:27017"
database_name = "rtag"
tags_collect = "tags"
values_collect = "values"