Sample integration for LangChain.js
npm install @langchain/mongodbThis package contains the LangChain.js integrations for MongoDB through their SDK.
``bash npm2yarn`
npm install @langchain/mongodb @langchain/core
This package, along with the main LangChain package, depends on @langchain/core.
If you are using this package with other LangChain packages, you should make sure that all of the packages depend on the same instance of @langchain/core.
You can do so by adding appropriate field to your project's package.json like this:
`json`
{
"name": "your-project",
"version": "0.0.0",
"dependencies": {
"@langchain/core": "^0.3.0",
"@langchain/mongodb": "^0.0.0"
},
"resolutions": {
"@langchain/core": "^0.3.0"
},
"overrides": {
"@langchain/core": "^0.3.0"
},
"pnpm": {
"overrides": {
"@langchain/core": "^0.3.0"
}
}
}
The field you need depends on the package manager you're using, but we recommend adding a field for the common yarn, npm, and pnpm to maximize compatibility.
To develop the MongoDB package, you'll need to follow these instructions:
`bash`
pnpm install
`bash`
pnpm build
Or from the repo root:
`bash`
pnpm build --filter @langchain/mongodb
Test files should live within a tests/ file in the src/ folder. Unit tests should end in .test.ts and integration tests should.int.test.ts
end in :
`bash`
$ pnpm test
$ pnpm test:int
The tests in this package require an instance of MongoDB Atlas running, either running locally or as a remote Atlas cluster. A URI pointing to
an existing Atlas cluster can be provided to the tests by specifying the MONGODB_ATLAS_URI environment variable:
`bash`
MONGODB_ATLAS_URI='
If running against a remote Atlas cluster, the user must have readWrite permissions on the langchain_test database.
If no MONGODB_ATLAS_URI is provided, the test suite will attempt to launch an instance of local Atlas in a container using testcontainers. This requires a container engine, see the testcontainer backing engine documentation for details.
Run the linter & formatter to ensure your code is up to standard:
`bash`
pnpm lint && pnpm format
If you add a new file to be exported, either import & re-export from src/index.ts, or add it to the exports field in the package.json file and run pnpm build` to generate the new entrypoint.