您可以写入脚本来查询源集群,并将文档、索引、集合、元数据和视图与目标集群进行比较。
比较文档
您可以通过比较源集群和目标集群上的文档来验证同步。
在使用此方法验证数据传输之前,mongosync
必须处于 COMMITTED
状态。
比较索引
要验证索引传输,请在源集群和目标集群上运行db.collection.getIndexes()
并比较结果。
比较元数据
要验证元数据的传输,请在源集群和目标集群上运行db.getCollectionInfos()
并比较结果。
比较分片键
要验证分片键是否传输到同步集合,请对 config.collections
集合运行查询,以查找 _id
值为目标集合的命名空间的文档。 比较此文档在源集群和目标集群中的 key
值。
示例,对于pets
records
数据库中名为 的集合,您可以在mongosh
中使用以下查询来验证分片键:
db.getSiblingDB("config").collections.find({ _id : "records.pets" })
{ "_id" : "records.pets", "lastmod" : ISODate("2021-07-21T15:48:15.193Z"), "timestamp": Timestamp(1626882495, 1), "key" : { "_id" : 1 }, "unique" : false, "lastmodEpoch" : ObjectId("5078407bd58b175c5c225fdc"), "uuid" : UUID("f8669e52-5c1b-4ea2-bbdc-a00189b341da") }