• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mongodb-js / mongodb-mcp-server / 14637601756

24 Apr 2025 08:57AM UTC coverage: 42.737% (-32.7%) from 75.474%
14637601756

Pull #103

github

fmenezes
fix: rename describes
Pull Request #103: refactor: split test helpers

30 of 187 branches covered (16.04%)

Branch coverage included in aggregate %.

376 of 763 relevant lines covered (49.28%)

1.85 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

70.0
/src/tools/mongodb/create/insertMany.ts
1
import { z } from "zod";
1✔
2
import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
1✔
4
import { ToolArgs, OperationType } from "../../tool.js";
5

6
export class InsertManyTool extends MongoDBToolBase {
1✔
7
    protected name = "insert-many";
2✔
8
    protected description = "Insert an array of documents into a MongoDB collection";
2✔
9
    protected argsShape = {
2✔
10
        ...DbOperationArgs,
11
        documents: z
12
            .array(z.object({}).passthrough().describe("An individual MongoDB document"))
13
            .describe(
14
                "The array of documents to insert, matching the syntax of the document argument of db.collection.insertMany()"
15
            ),
16
    };
17
    protected operationType: OperationType = "create";
2✔
18

19
    protected async execute({
20
        database,
21
        collection,
22
        documents,
23
    }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> {
24
        const provider = await this.ensureConnected();
×
25
        const result = await provider.insertMany(database, collection, documents);
×
26

27
        return {
×
28
            content: [
29
                {
30
                    text: `Inserted \`${result.insertedCount}\` document(s) into collection "${collection}"`,
31
                    type: "text",
32
                },
33
                {
34
                    text: `Inserted IDs: ${Object.values(result.insertedIds).join(", ")}`,
35
                    type: "text",
36
                },
37
            ],
38
        };
39
    }
40
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc