{"library":"sharedb-mingo-memory","title":"ShareDB Mingo Memory Adapter","description":"sharedb-mingo-memory is an in-memory database adapter for ShareDB, providing a local, fast, and ephemeral data store that supports a subset of MongoDB's query API through the Mingo library. Its primary use cases include accelerating application testing by eliminating external database dependencies and facilitating local development environments. The current stable version is 4.1.0, with a release cadence tied to Node.js LTS versions and new major releases of ShareDB itself, ensuring broad compatibility. Key differentiators include its lightweight, in-memory nature, making it ideal for CI/CD pipelines and quick prototyping, while still offering a familiar MongoDB-like query interface. It integrates seamlessly with ShareDB applications for a mock database experience.","language":"javascript","status":"active","last_verified":"Wed Apr 22","install":{"commands":["npm install sharedb-mingo-memory"],"cli":null},"imports":["import ShareDBMingo from 'sharedb-mingo-memory';","const ShareDBMingo = require('sharedb-mingo-memory');","import ShareDBMingo from 'sharedb-mingo-memory';\nconst CustomDB = ShareDBMingo.extendMemoryDB(SomeOtherMemoryDB);"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import ShareDBMingo from 'sharedb-mingo-memory';\nimport ShareDB from 'sharedb';\n\n// Initialize the in-memory database adapter\nconst db = new ShareDBMingo();\n\n// Initialize ShareDB with the in-memory adapter\nconst backend = new ShareDB({ db });\n\n// Example usage: Create a connection and a document\nconst connection = backend.connect();\nconst doc = connection.get('myCollection', 'myDocument');\n\ndoc.fetch((err) => {\n  if (err) throw err;\n\n  if (doc.type === null) {\n    // Create the document if it doesn't exist\n    doc.create({ title: 'Hello World', content: 'This is an in-memory document.' }, (err) => {\n      if (err) throw err;\n      console.log('Document created:', doc.data);\n      queryDocuments();\n    });\n  } else {\n    console.log('Document already exists:', doc.data);\n    queryDocuments();\n  }\n});\n\nfunction queryDocuments() {\n  const query = connection.query('myCollection', { title: 'Hello World' });\n  query.subscribe((err) => {\n    if (err) throw err;\n    console.log('Query results:', query.results.map(d => d.data));\n    // Remember to unsubscribe or close connection in a real app\n    query.destroy();\n    connection.close();\n  });\n}","lang":"typescript","description":"This quickstart demonstrates how to initialize sharedb-mingo-memory, integrate it with ShareDB, create a document, and perform a basic query against the in-memory database.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}