diff --git a/packages/shell-api/src/helpers.ts b/packages/shell-api/src/helpers.ts index 6ea1aac5cd..a035446794 100644 --- a/packages/shell-api/src/helpers.ts +++ b/packages/shell-api/src/helpers.ts @@ -441,9 +441,10 @@ export async function getPrintableShardStatus(db: Database, verbose: boolean): P { $sort: { shard: 1 } } ])).toArray(); let totalChunks = 0; + collRes.chunkMetadata = []; chunks.forEach((z: any) => { totalChunks += z.nChunks; - collRes.chunkMetadata = { shard: z.shard, nChunks: z.nChunks }; + collRes.chunkMetadata.push({ shard: z.shard, nChunks: z.nChunks }); }); // NOTE: this will return the chunk info as a string, and will print ugly BSON diff --git a/packages/shell-api/src/shard.spec.ts b/packages/shell-api/src/shard.spec.ts index accc2aeaed..c670826688 100644 --- a/packages/shell-api/src/shard.spec.ts +++ b/packages/shell-api/src/shard.spec.ts @@ -1257,6 +1257,8 @@ describe('Shard', () => { const original = await db.coll.findOneAndUpdate({ key: 'A' }, { $set: { value: 30 } }); expect(original.key).to.equal('A'); expect(original.value).to.equal(10); + + expect((await sh.status()).value.databases[1].collections[ns].chunkMetadata).to.have.lengthOf(1); }); }); describe('autosplit', () => {