Track https://github.com/PoloDB/PoloDB simple document database. As and when a wasm version is made available, explore anywidget and use as a candidate replacement for MongoDB in a jupyterlite tm351 env.
https://github.com/PoloDB/PoloDB : ?current? "written in Rust that implements a lightweight MongoDB"; syntax differs from Mongo althought "aligned" with it; currently no geo, but there is an aggregation mechanism that can run over a series of steps.
https://github.com/protobi/query : ?possibly current? "A lightweight API to query Javascript arrays using MongoDB syntax in the browser and Node.js." So uses js, but we could wrap it using anywidget. No persistent browser storage?
https://github.com/msiemens/tinydb : ?current? "TinyDB is a lightweight document oriented database" (py package] Persitent stoeage to file?
https://github.com/scottrogowski/mongita : ?current? "Mongita is a lightweight embedded document database that implements a commonly-used subset of the MongoDB/PyMongo interface" [py package]; looks interesting, and active, but currently limited query operators and no aggregation pipelines.
https://github.com/louischatriot/nedb : ?current? "Embedded persistent or in memory database for Node.js, nw.js, Electron and browsers, 100% JavaScript, no binary dependency. API is a subset of MongoDB"; plenty of operators and projection support, no aggregation/pipelines. Persistent browser storage available.
https://github.com/jclo/picodb : ?stalled? "PicoDB is an in-memory database that stores JSON like documents. It runs both on Node.js and in the ES6 compliant browsers." Includes geo operators so may be worth looking at. A js package but we should be able to wrap it via anywidget? Offers a simple mechanise to dump all records to an array, which could presumably be read back in?
Track https://github.com/PoloDB/PoloDB simple document database. As and when a wasm version is made available, explore anywidget and use as a candidate replacement for MongoDB in a jupyterlite tm351 env.