关注我们: 微信公众号

微信公众号

电脑用户请使用手机扫描二维码

手机用户请微信打开后长按二维码 -> 识别二维码

微博

在SingBox中,节点是数据存储的基本单元,每个节点都有唯一的ID、可变的值、标签集合、状态和创建时间等属性。节点筛选是根据特定的条件从节点中筛选出符合条件的节点。以下是常见的节点筛选方法

原子加速器 2026-10-07 16:33:09 2 0

根据节点ID筛选

节点ID是每个节点的唯一标识符,可以通过它直接定位到特定节点。

// 根据节点ID筛选
const node = await box.getNode('节点ID');

根据节点值筛选

节点值可以是任意数据类型,可以根据值的类型和内容进行筛选。

// 根据节点值筛选
const nodes = await box.nodes('value', {
  'key': '节点值',
  'value': '目标值'
});
  • key:指定要比较的属性名。
  • value: 指定要比较的目标值。

根据节点标签筛选

节点标签可以添加自定义标签,方便分类管理。

// 根据节点标签筛选
const nodes = await box.nodes('label', {
  'label': ['标签1', '标签2']
});
  • label: 指定要筛选的标签数组。

根据节点状态筛选

节点状态包括激活、禁用和删除状态,可以用来筛选活跃的节点。

// 根据节点状态筛选
const activeNodes = await box.nodes('state', {
  'state': 'active' // 只能激活状态的节点
});

根据创建时间筛选

可以筛选出在特定时间段内创建的节点。

// 根据创建时间筛选
const recentNodes = await box.nodes('createTime', {
  'createTime': '2023-01-01'
});

组合多个条件筛选

可以通过组合多个条件使用AND逻辑来精确筛选。

// 组合多个条件筛选
const nodes = await box.nodes('value, label', {
  'value': '目标值',
  'label': ['标签1', '标签2']
});

范围查询

可以对数值属性执行范围查询。

// 范围查询
const nodes = await box.nodes('value', {
  'value': {
    'min': 10,
    'max': 20
  }
});

示例代码

以下是一个完整的筛选节点的示例代码:

// 筛选节点示例
async function filterNodes() {
  try {
    const box = new SingBox();
    //筛选节点
    const result = await box.nodes('value, label', {
      'value': '目标值',
      'label': ['标签1', '标签2']
    });
    // 输出结果
    console.log('筛选结果:', result);
  } catch (error) {
    console.error('筛选节点失败:', error);
  }
}

注意事项

  1. 性能考虑:对于大规模数据集,复杂的筛选条件可能会影响性能,建议合理设计查询逻辑。
  2. 排序和分页:如果结果需要排序,可以在筛选结果中进行排序处理。
  3. 状态管理:了解节点的状态变化(激活/禁用/删除)对筛选的影响。

通过以上方法,你可以根据需求筛选出符合条件的节点,高效管理数据。

在SingBox中,节点是数据存储的基本单元,每个节点都有唯一的ID、可变的值、标签集合、状态和创建时间等属性。节点筛选是根据特定的条件从节点中筛选出符合条件的节点。以下是常见的节点筛选方法

如果没有特点说明,本站所有内容均由原子加速器官方网站|提供客户端版本、线路管理与节点选择功能,适配Windows、Android、iOS等设备,便于用户进行网络连接优化原创,转载请注明出处!