Mongodb

最近在捣鼓NER标注,对其标注结果进行存储,标注结果大体类似下图,记录文本中起始位置到结束位置的文本对应的标签值,本想使用MySQL进行存储得了,但整个文本其实涉及的关联操作不多,只是对数据的读写操作,且希望导出后的数据是这样的数据结构。查看mongodb不正是符合json形式操作,方便快捷的json操作可能给我带来便利,为此,记录下mongodb的一些常用操作。


image.png

mongodb:NoSQL的一种数据库(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。其主要未限制schema,不需要预先定义有哪些字段,可以看成就是一个文本,往文本中存多少字段都是开放的,只需要符合键值对(key=>value)规则即可。
document->collection
以下操作通过mongodb命令进行,python开发可使用第三方库:mongoengine

  1. 创建collections:db.createCollection()
    也可以不预先创建,直接使用时mongodb会去判断文档是否存在
  2. 添加数据:db.col.insert(),如下创建一个数组字段tags
    db.col.insert({"df":"test", "id":3, tags:[{"id":1,"start":2,"end":10}]})
  3. 查询数据:db.col.find(),如下查询tags数组内id为1的数据
    db.col.find({"tags":{$elemMatch:{"id":1}}})
    指定输出字段:db.col.find({"id":3}, {"_id":0, "df":0, "id":0})
  4. 更新数据:db.col.update($condition,$field),update第一个参数是查询条件,第二个参数是需要更新哪些字段
    通常数据更新:db.col.update({"id":3},{$set:{"df":"test3"}})
    数组内部数据更新:db.col.update({"id":3,"tags.id":1}, {$addToSet:"tags":{"id":2,"start":3, "end":1}})
  5. 删除数据:db.col.update()/db.col.remove()
    通常数据删除:
    数组内部数据删除:db.col.update({"id":3}, {$pull: {"tags":{"id":1}}}) $pull,$pullAll,$pop
    待续...
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、MongoDB概念解析: 2、数据库: "show dbs"命令可以显示所有数据的列表。"db"命令可以显示当...
    妮妮爱布阅读 712评论 0 0
  • [TOC]未完更新中... 1. MongoDB安装及配置 官网下载地址 安装msc文件,现在3.4的版本,有了m...
    BigJeffWang阅读 2,400评论 0 49
  • MongoDB的介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统 在高负载的情...
    Luo_Luo阅读 1,876评论 0 2
  • 1 MongoDB中的基本概念及原理 1.1 MongoDB介绍 官网地址:https://www.mongodb...
    MiniSoulBigBang阅读 733评论 0 0
  • MongoDB学习文档 作者 sachinly MongoDB 简单介绍 MangoDB 是由C++编写的分布式文...
    Sachin猿人阅读 198评论 0 1

友情链接更多精彩内容