You need to enable JavaScript to run this app.
文档中心
数据库工作台

数据库工作台

复制全文
下载 pdf
SQL 窗口
可视化查询管理
复制全文
下载 pdf
可视化查询管理
DBW 为文档数据库 MongoDB 提供了可视化查询的能力,在可视化查询窗口中,支持对数据的查询,复制,编辑和删除。​
前提条件​
  • 已创建 MongoDB 实例。详细操作,请参见创建实例。​
  • 已创建数据库账号。详细操作,请参见创建账号。​
注意事项​
  • 查询结果最多显示 3000 行,单行数据上限是 3 MB,结果集上限是 10 MB。​
  • 由于 DBW 无法保证在数据交互台的 SQL 窗口中执行的 SQL 能达到最佳性能。 因此,建议您不要在数据交互台的 SQL 窗口中执行对响应延迟较为敏感型的 SQL 任务。​
  • 您执行的创建、删除等操作可能会对线上业务运行造成影响,建议选择业务低峰期进行。​
  • 您可以在数据交互台的可操作区域,按需切换数据库和集合。最多支持显示 100 个数据库或集合。​
  • 在添加集合记录或指定 Filter 筛选条件时,字段类型表示形式必须使用 Canonical Extended JSON(Strict EJSON)格式,在 Strict EJSON 格式中,需明确字段类型,具体如下。​
  • 日期(Date)、ObjectId、二进制、Decimal 128、Timestamp、MinKey/MaxKey、正则等非原生 JSON 类型,都必须使用 Strict EJSON 规范格式,例如 _id 使用 {"$oid":"507f1f77bcf86cd799439011"}。​
  • 数值建议使用 Strict EJSON 规范格式 ,如 "$numberInt"、"$numberLong" 和 "$numberDouble",以消除 32 位整型、64 位整型与双精度之间的歧义。如果不使用 Strict EJSON 规范格式 ,则由 mongoDB 驱动自动进行数值类型转换,转换结果不保证完全符合预期。​
  • 关于 Strict EJSON 字段类型表示形式的更多信息,请参见类型表示形式。​
操作步骤​
说明​
通过某集合右键菜单中的查询集合,才能打开可视化查询窗口。​
  1. 在数据交互台页面的命令执行区域,单击目标集合后的图标,或者右键单击集合名称区域。​
  1. 在弹出菜单中,选择查询集合。​
  1. 在可视化查询窗口中,您可以查询,复制,编辑和删除集合数据。​
  • ​​​
  • ​
    序号​
    区域​
    说明​
    1​
    集合目录树​
    在集合目录树区域,支持可视化地管理集合和索引。​
    • 集合​
    • 支持创建集合、查询集合、重命名集合和删除集合。更多信息,请参见集合管理。​
    • 索引​
    • 支持创建索引、查询索引和删除索引。更多信息,请参见索引管理。​
    2​
    查询区​
    在查询区域,Filter 支持使用 {field:"value"} 格式和函数作为查询条件查询集合数据。​
    注意​
    • 使用 {field:"value"} 格式作为 Filter 筛选条件时,字段类型表示形式必须使用 Canonical Extended JSON(Strict EJSON)格式,在 Strict EJSON 格式中,必须明确字段类型,具体如下。​
    • 日期(Date)、ObjectId、二进制、Decimal 128、Timestamp、MinKey/MaxKey、正则表达式等非原生 JSON 类型,都必须使用 Strict EJSON 规范格式,例如 _id 使用 {"$oid":"507f1f77bcf86cd799439011"}。​
    • 数值建议使用 Strict EJSON 规范格式 ,如 "$numberInt"、"$numberLong" 和 "$numberDouble",以消除 32 位整型、64 位整型与双精度之间的歧义。如果不使用 Strict EJSON 规范格式 ,则由 mongoDB 驱动自动进行数值类型转换,转换结果不保证完全符合预期。​
    • 支持使用 ObjectId、ISODate、Date、Timestamp、Code、NumberDecimal、NumberLong、Double、NumberInt、BinData、MinKey、MaxKey、BSONRegExp、RegExp 等函数作为查询条件。以上函数定义请参见附录。​
    在手动输入查询条件时,支持命令补齐功能,同时支持从集合记录中复制 field:"value" 格式的数据作为查询条件。在集合记录中复制 field:"value" 格式的数据,需先选中 field:"value" 格式的数据,然后按下复制快捷键。​
    查询示例如下​
    • 查询 CPU 使用率为 0.4 的集合记录,在可视化查询和 shell 普通会话窗口中的命令如下。​
    • 在可视化查询窗口中,查询条件是 {"cpu.usage":0.4}。​
    • 在 shell 普通会话框中,查询命令为 db.collection.find({"cpu.usage":0.4})。​
    • 精确查询 create_at 字段为 2025-09-12T10:40:00.000Z 的集合记录,在可视化查询和 shell 普通会话窗口中的命令如下。​
    • 在可视化查询窗口中,查询条件是 {"created_at":{"$date":{"$numberLong":"1757673600000"}}}。​
    • 在 shell 普通会话框中,查询命令为 db.collection.find({created_at: ISODate("2025-09-12T10:40:00.000Z")})。​
    • 查询 _id 为 507f1f77bcf86cd799439011,且地区是 cn-beijing,CPU 使用率在 0.20~0.80 之间的集合记录。在可视化查询和 shell 普通会话窗口中的命令如下。​
    • 在可视化查询窗口中,查询条件如下。​
    • ​
      {​
      "_id": {​
      "$oid": "507f1f77bcf86cd799439011"​
      },​
      "region": "cn-beijing",​
      "cpu.usage": {​
      "$gte": 0.2,​
      "$lte": 0.8​
      }​
      }​
      ​
    • 在 shell 普通会话框中,查询命令如下。​
    • ​
      db.collection.find({ _id: ObjectId("507f1f77bcf86cd799439011"), region: "cn-beijing", "cpu.usage": { $gte: 0.20, $lte: 0.80 }})​
      ​
    • 单击更多选项,进行更细粒度的筛选,筛选条件包括 Project、Sort 、Max Time(ms)、Collation、Skip 和 Limit。​
    • Project:支持 Relax Extended JSON(宽松 EJSON) 格式,如 {"name":1, "region":1, "cpu.usage":1, "_id":0}。更多信息,请参见 $projection。​
    • Sort:支持 Relax Extended JSON(宽松 EJSON) 格式,如 { "region": 1, "cpu.usage": -1}。更多信息,请参见 $sort。​
    • Skip:如 10,表示跳过 10 条集合记录。​
    • Limit:如 5,表示只选取 5 条集合记录。​
    • Collation:支持 Relax Extended JSON(宽松 EJSON) 格式,英文大小写不敏感。更多语法信息,请参见 Collation。​
    • 查询结果有两种展示形式,分别为 JSON 和 List,您可以在区域右上角切换数据展示形式。​
    3​
    可视化操作区​
    在可视化操作区域,您可以可视化地添加、复制、编辑和删除集合数据。​
    说明​
    集合数据有两种展示形式,分别为 JSON 和 List,您可以在区域右上角切换数据展示形式。下面以 JSON 展示形式为例,介绍可视化地添加、复制、编辑和删除集合数据。​
    • 添加集合记录​
    • 单击添加记录,在添加记录窗口中,输入待添加的数据,单击确定,即可为当前集合添加一条记录。​
    注意​
    • 在添加集合记录时,必须使用 Canonical Extended JSON(Strict EJSON)格式,使得添加数据的格式严格符合 MongoDB 标准。在 Strict EJSON 格式中,须明确字段类型,如:​
    • 日期是 { "created_at": { "$date": { "$numberLong": "1757673600000" } } }。如果日期写为 {"created_at": "2025-09-12T08:00:00Z"},在 Strict EJSON 格式中会被当成字符串,而不是日期类型。​
    • ObjectId 是 { "_id": { "$oid": "507f1f77bcf86cd799439011" } }。​
    • 关于 Strict EJSON 字段类型表示形式的更多信息,请参见类型表示形式。​
    • 支持一次添加多条集合记录,格式为 [{},{},{},……],所有记录在 [] 内,且各记录之间用英文逗号(,)分割。​
    • 添加集合记录的完整示例如下。​
    • ​
      {​
      "_id": {​
      "$oid": "507f1f77bcf86cd79943****"​
      },​
      "name": "mongo-instance",​
      "type": "MongoDB",​
      "region": "cn-beijing",​
      "cpu": {​
      "cores": {​
      "$numberInt": "2"​
      },​
      "usage": {​
      "$numberDouble": "0.40"​
      }​
      },​
      "tags": [​
      "shard",​
      "router"​
      ],​
      "created_at": {​
      "$date": {​
      "$numberLong": "1757673600000"​
      }​
      }​
      }​
      ​
    • ​​​
    • 复制集合数据​
    • 单击复制图标,支持复制整条记录或某个值。​
    • 复制整条记录:单击记录右上角的复制图标,即可复制整条记录。​
    • 复制某个值:将鼠标悬浮到目标数据上,待出现复制图标后,单击复制图标,即可服务目标数据值。​
    • 复制 field:"value" 数据:选中 field:"value" 数据,然后按复制快捷键,或右键菜单中的复制选项。​
    • ​​​
    • 编辑集合数据​
    • 单击记录右上角的编辑图标,进入编辑模式后,您可以在 BSON 或 EJSON 展示形式中复制、修改和删除集合数据。修改完成后,单击提交,即可保存修改信息。​
    注意​
    在编辑集合数据时,禁止修改 _id 的字段值。在 EJSON 模式中,不会保存对 _id 字段值的修改。​
    • ​​​
    • 删除集合数据​
    • 单击记录右上角的删除图标,二次确认后,即可删除整条集合数据。在集合数据的编辑模式中,单击某个字段及字段值后面的删除图标,还可以删除此字段及字段值。​
    注意​
    集合被删除后无法恢复。同时,在删除集合的过程中由于数据库需要处理较多文件,可能会导致数据库性能下降,需谨慎操作。​
    ​
附录​
在 Mongo 可视化查询中,支持使用 ObjectId、ISODate、Date、Timestamp、Code、NumberDecimal、NumberLong、Double、NumberInt、BinData、MinKey、MaxKey、BSONRegExp、RegExp 等函数作为筛选条件,这些函数定义如下。​
​
/**​
* @param {string} id Must be a 24 byte hex string.​
*/​
declare function ObjectId(id: string): {​
$oid: string;​
};​
​
/**​
* @param {string} date An ISO-8601 date string​
*/​
declare function ISODate(date?: string): {​
$date: {​
$numberLong: string;​
};​
};​
​
/**​
* @param {number|string} date​
*/​
declare function Date(date?: number | string): {​
$date: {​
$numberLong: string;​
};​
};​
​
/**​
* @param {string} A high-precision decimal as string.​
*/​
declare function NumberDecimal(num: string | number): {​
$numberDecimal: string;​
};​
​
/**​
* @param {string} num A long number string​
*/​
declare function NumberLong(num: string | number): {​
$numberLong: string;​
};​
​
/**​
* @param {string} num A double number string​
*/​
declare function Double(num: string | number): {​
$numberDouble: string;​
};​
​
/**​
* @param {string} num A int number string​
*/​
declare function NumberInt(num: string): {​
$numberInt: string;​
};​
​
/**​
* @param {number} t A positive integer for the seconds since epoch.​
* @param {number} i A positive integer for the increment.​
*/​
declare function Timestamp(​
t: number,​
i: number,​
): {​
$timestamp: {​
t: number;​
i: number;​
};​
};​
​
/**​
* @param {number} subType BSON binary subtype. See the extended bson documentation http://bsonspec.org/spec.html for subtypes available.​
* @param {string} base64 Base64 encoded (with padding as “=”) payload string.​
*/​
declare function BinData(​
subType: number,​
base64: string,​
): {​
$binary: {​
base64: string;​
subType: string;​
};​
};​
​
/**​
*​
* The MinKey BSON data type compares lower than all other types.​
*/​
declare function MinKey(): { $minKey: 1 };​
​
/**​
* The MaxKey BSON data type compares higher than all other types.​
*/​
declare function MaxKey(): { $maxKey: 1 };​
​
declare function BSONRegExp(​
pattern: string,​
options?: string,​
): {​
$regularExpression: {​
pattern: string;​
options: string;​
};​
};​
​
declare function RegExp(​
pattern: string,​
options?: string,​
): {​
$regularExpression: {​
pattern: string;​
options: string;​
};​
};​
​
const SubType = {​
Generic: 0x0,​
Function: 0x1,​
Binary_old: 0x2,​
UUID_old: 0x3,​
UUID: 0x4,​
MD5: 0x5,​
Encrypted: 0x6,​
UserDefined: 0x80,​
};​
​
​
最近更新时间:2025.10.15 15:47:02
这个页面对您有帮助吗?
有用
有用
无用
无用