mongodb中处理插入数据去重问题

来源:互联网 发布:对外汉语 知乎 编辑:程序博客网 时间:2024/05/16 10:00

最近在写一个爬虫工具,将网站的数据储存到mongodb中,由于数据有重复的,所以我就在建立数据库的时候,为集合建立了索引,下面说下我的步骤,集合名称为drugitem,

下面是集合截图:


我要为name字段创建唯一索引,因为要保证name没有重复:


就这样我运行程序发现数据比原来没有设置唯一索引时少了好多,我仔细查看发现程序在name字段重复的地方停止了,这不是我想要的结果,因为后面的数据还没有查询完成。于是我就删除了原来创建的name索引:


然后remove数据,重新按照老办法重新抓取数据,这样一来数据是得到了,但是本质问题还没解决,里面含有许多重复数据,于是我使用唯一索引+去重操作得到最终结果:


这样做的前提是集合中已经含有所有数据,这样处理后会发现drugitem集合中文档减少,说明去除了重复的文档。

问题虽然解决了,但是我觉得还是不太合适,难道我们每次都要这样处理才能得到最终数据?能不能在程序中插入的时候加以判断(或许这样会增加插入时间)或者在建立集合的时候提前配置好?由于本人初次接触mongodb,希望有高手看到后给予指点。

0 0
原创粉丝点击