V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
iorilu
V2EX  ›  程序员

有没有类似 mongodb 的本地轻量文档数据库呢

  •  
  •   iorilu · 7 小时 49 分钟前 · 806 次点击

    有时候不想用 sql 数据库

    但想用简单点的文档数据库, 但又不想用 mongodb

    有没有类似 sqlite 定位的本地轻量文档数据库呢

    13 条回复    2025-01-10 21:16:43 +08:00
    wu67
        1
    wu67  
       7 小时 40 分钟前
    那为什么不 sqlite 呢?
    iorilu
        2
    iorilu  
    OP
       7 小时 30 分钟前
    @wu67 不想用 sql 阿, 不想建表之类的, 有时候有这种需求
    5200
        4
    5200  
       7 小时 5 分钟前
    直接读写 txt 文本得了 .ini .toml ,json 和 .yaml 之类的,
    spritecn
        5
    spritecn  
       6 小时 47 分钟前
    kv? LevelDB?
    fds
        6
    fds  
       6 小时 27 分钟前
    什么语言呢? Python 的话可以用 https://github.com/piskvorky/sqlitedict 底层是 sqlite ,对外界面就是个普通 dict 。
    clino
        7
    clino  
       6 小时 17 分钟前
    unqlite
    类似于 sqlite 的 nosql 单文件数据库,单文件可以很大都能用
    tool2dx
        8
    tool2dx  
       6 小时 16 分钟前
    @iorilu “不想用 sql 阿, 不想建表之类的, ”

    我也不想建字段,用的是 mysql+blob 存 json ,模糊查询要自己处理一下,别的都没啥问题。
    Mithril
        9
    Mithril  
       5 小时 42 分钟前
    C#的话,可以试试 LiteDB 。基本和 MongoDB 类似的接口设计,也能直接往里面塞文件。
    又和 SQLite 一样,只有个 dll ,数据库也就是个本地文件。
    纯托管代码,完全跨平台。
    TimePPT
        10
    TimePPT  
       4 小时 38 分钟前
    我现在本地 json 和 csv 的查询,直接用 DuckDB 了
    jeesk
        11
    jeesk  
       4 小时 23 分钟前 via Android
    embed redis
    gsw945
        12
    gsw945  
       3 小时 12 分钟前 via Android
    Python 有 TinyDB,
    C#有线程安全的 LiteDB 。
    lbp0200
        13
    lbp0200  
       2 小时 54 分钟前
    有没有类似 mongodb 的本地轻量文档数据库呢?
    基于 4 个搜索来源

    以下是一些类似 MongoDB 的本地轻量文档数据库:
    Tingodb
    特点:几乎完全兼容 MongoDB 的 2.6 版本的命令和 API ,对于熟悉 MongoDB 的开发者来说几乎无需额外学习成本。由 Node.js 编写,能在任何支持 Node.js 的平台上运行,数据以二进制文件的形式存储在磁盘上,在启动速度和内存占用上表现优秀。
    应用场景:适用于嵌入式应用,如物联网设备、移动设备或其他资源受限的环境;在项目初期可快速搭建数据库用于快速原型开发;也可作为学习 MongoDB API 和 NoSQL 数据库的理想工具。
    PouchDB
    特点:轻量级,只有几十 KB 大小,适合移动设备和低性能设备。支持多种环境,包括浏览器、Node.js 、Cordova 和 React Native 等,可离线存储,并能通过 CouchDB 或者 PouchDB Sync Gateway 实现双向实时同步,提供类似于 MongoDB 的查询、索引等功能。
    应用场景:常用于在浏览器中开发需要离线存储的 Web 应用程序,在移动设备上开发应用程序实现离线存储和实时同步,以及在 Node.js 中开发后端服务提供数据存储和查询功能。
    NeDB
    特点:完全由 javascript 实现,支持内存存储和持久化存储两种模式,API 设计优雅,对 javascript 开发者友好,支持 mongodb 风格的查询语法,如





    lt (小于)、$in (在集合中)等操作符。
    应用场景:适合小型项目或者需要快速开发的场景,可用于快速搭建简单的用户管理系统等。
    TinyDB
    特点:纯 python 实现,没有其他依赖,可以在任何能运行 python 的环境中使用。将数据以 json 格式存储在单个文件中,无需安装数据库服务器,提供类似 mongodb 的查询体验,支持复杂查询和表操作。
    应用场景:适用于小型应用和原型开发,如个人阅读追踪系统、简单的任务管理应用等,在数据量不大、单文件应用等场景中优势明显。
    PoloDB
    特点:用 Rust 编写,更加轻量级,适用于客户端数据存储。支持多线程和多会话,保留了嵌入式数据库的轻量级特性,提供类似于 MongoDB 的 API ,支持跨平台运行,支持 Serde 序列化和反序列化以及事务处理。
    应用场景:适用于客户端应用,如桌面应用、移动应用等;嵌入式系统,如物联网设备、嵌入式设备等;小型服务,如微服务、边缘计算等。
    LiteDB
    特点:小巧、快速、轻量级的.NET NoSQL 嵌入式数据库,以单个 dll (不到 450kb )形式提供,支持线程安全,完整的事务支持,对文档字段建立索引以实现快速搜索,支持 LINQ 查询,提供类似于 SQL 的命令来访问 / 转换数据。
    应用场景:可用于桌面 / 本地小型应用程序、应用程序文件格式、小型网站 / 应用程序每个账户 / 用户数据存储一个数据库的情况。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2260 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:10 · PVG 00:10 · LAX 08:10 · JFK 11:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.