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

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

  •  
  •   iorilu · 4 天前 · 1906 次点击

    有时候不想用 sql 数据库

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

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

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

    我也不想建字段,用的是 mysql+blob 存 json ,模糊查询要自己处理一下,别的都没啥问题。
    Mithril
        9
    Mithril  
       4 天前
    C#的话,可以试试 LiteDB 。基本和 MongoDB 类似的接口设计,也能直接往里面塞文件。
    又和 SQLite 一样,只有个 dll ,数据库也就是个本地文件。
    纯托管代码,完全跨平台。
    TimePPT
        10
    TimePPT  
       4 天前
    我现在本地 json 和 csv 的查询,直接用 DuckDB 了
    jeesk
        11
    jeesk  
       3 天前 via Android
    embed redis
    gsw945
        12
    gsw945  
       3 天前 via Android
    Python 有 TinyDB,
    C#有线程安全的 LiteDB 。
    lbp0200
        13
    lbp0200  
       3 天前
    有没有类似 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 的命令来访问 / 转换数据。
    应用场景:可用于桌面 / 本地小型应用程序、应用程序文件格式、小型网站 / 应用程序每个账户 / 用户数据存储一个数据库的情况。
    importmeta
        14
    importmeta  
       3 天前
    直接存 Redis 算了
    iorilu
        15
    iorilu  
    OP
       3 天前
    @importmeta redis 也要起服务器阿 , 我需要本地存储, 方便软件发布到客户端也能用
    ninjashixuan
        16
    ninjashixuan  
       3 天前
    写 go 的话可以看看基于 sqlite 实现的 redis https://github.com/nalgeon/redka
    elboble
        17
    elboble  
       3 天前 via Android
    我也在想把 Mongo 转 redis ,数据量不大,持久化跟上就行,应该比 Mongo 轻量
    duzhuo
        18
    duzhuo  
       2 天前
    LokiJS 可以试试,数据存储在内存中
    coldle
        19
    coldle  
       2 天前 via Android
    @lbp0200 v2 禁 ai 回复的喔
    onlyweek
        20
    onlyweek  
       2 天前 via Android
    觉得是不是不用数据库好点 直接搞 obsidian 这个 也支持表格之类的操作啊
    bruce0
        21
    bruce0  
       1 天前
    rocksdb 或者 leveldb ?
    lbp0200
        22
    lbp0200  
       1 天前
    @coldle 我是想说,有时间发帖,等回复,AI 已经给答案了
    PTLin
        23
    PTLin  
       1 天前
    @lbp0200 什么叫做答案,有自己的思考和实践在 v2 社区才是所谓的答案,而不是复制一堆自己都没实践过的话。
    lbp0200
        24
    lbp0200  
       23 小时 19 分钟前
    @PTLin 所以,你的意思是 要等别人去实践?自己什么也不做,等别人把知识喂到自己的嘴里?
    PTLin
        25
    PTLin  
       10 小时 18 分钟前
    @lbp0200 来这里问不就是等一个真正做过类似场景的人的解决方法吗,来作为自己的参考。你发的 ai 回答也是一种参考,不过可信度比真实搞过的人可信度低。
    那些问 xx 品牌 xx 型号车好不好的人不也是等一个真正买过这辆车的人的建议,来当成自己的参考吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3288 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 11:39 · PVG 19:39 · LAX 03:39 · JFK 06:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.