如果不在数据库中如何插入许多

Thrillofit86

所以我终于想出了如何使用insert_many的方法。我的代码主要基于电子邮件,但是我确实发现,如果我对相同的电子邮件使用insert_many,则会全部添加它们,我想进行排序检查,以检查数据库中是否已存在电子邮件,然后不要插入它,否则将其插入。

emailList = []
for emails in getEmailFile:
    if not db.license.find_one({'email': emails}): #updated
         emailList.append({'email': emails.lower().replace("\r","").strip(), "MAC": 0, "key_resets": 0, "raffleItem": []})

db.license.insert_many(emailList)

使用此代码确实可以工作,并且确实可以添加所有集合和元素,但是我想进行排序检查,首先检查在实际插入电子邮件之前是否在数据库中。你们会如何帮助我呢?

埃米尔·卡拉布奇

实现此目的的一种快速方法是在email字段上创建唯一索引,并使用{ordered: false}选项insertMany()进行无序插入这样做是插入所有不存在的电子邮件,并为重复的电子邮件生成错误。从而:

db.license.insert_many(emailList, ordered=False)

请注意,您仍然需要处理pymongo返回的错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果字段不在数据库中,如何查询

Mongodb-如果元素不在数据库中,如何使用$ inc

如何获取不在数据库中的文件

如果代码中有任何错误,如何在数据库表中插入值?

如果值等于零,如何防止在数据库中插入?

Laravel - 如何在数据库中插入 json

PHP如何在数据库中插入NULL?

如何在数据库中插入Json对象

如何在数据库中插入$ _POST值

从值中删除ID(如果不在数据库中)

PHP 如果不在 CSV 中但在数据库中

在数据库中插入值

MySQL / PHP检查数据是否在数据库表中,如果没有插入

如何在目录中搜索并保存在数据库中许多记录-PHP错误

如何在API中包含字段而不在数据库中添加键/值?

如何检查电子邮件已经在数据库中或不在Django中?

如果日期不在数组中,如何插入日期

@property 不在数据库中存储值

自定义列不在数据库中

Sequelize synch 不在数据库中创建表

使随机字符串不在数据库中

Php不在数据库中创建用户

如何在几个月内不在数据库中返回零

当{relations} _count不在数据库表中时,如何对{relations} _count进行排序

如何在数据库中插入唯一数据/处理重复数据

如何使用Laravel在数据库中插入数据数组及其相应的数据数组?

如何使用jQuery Ajax传递表单数据以在数据库中插入数据?

使用Faker库在数据库中插入图像

如何提高php中csv数据在数据库中的插入速度?