我有一个脚本python,每次运行它时,数据库中的数据都是重复的
这是我的代码:(这里我的示例是归因于我的收藏中的每个元素“”,仅用于尝试是否我必须知道谁是相同的信息,否则我将只找到一个,即使相同
代码:
import pymongo
def Create_DB():
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
db = myclient['Le_Monde_DB']
#la collection Corpus
Corpus = db.Corpus
Corpus_data = {
'Corpus_Name': '',
'Comment': '',
}
result = Corpus.update(Corpus_data,{upsert:true})
print('One Corpus: {0}'.format(result))
#la collection Publication
Publ = db.Publ
Publ_data = {
'Publ_Nature': '',
}
result = Publ.insert(Publ_data)
print('One Publ: {0}'.format(result))
#la collection text
Text = db.Text
Text_data = {
'Text': '',
}
result = Text.insert(Text_data)
print('One Text: {0}'.format(result))
#la collection phrase
Phrase = db.Phrase
Phrase_data = {
'Type_Phrase': '',
'Phrase':""
}
result = Phrase.insert(Phrase_data)
print('One Phrase: {0}'.format(result))
#la collection Token
Token = db.Token
Token_data = {
'Type_Token': '',
'Token':""
}
result = Token.insert(Phrase_data)
print('One Token: {0}'.format(result))
#la collection Meta_Data
Meta = db.Meta
Meta_data = {
'Type_Meta': '',
'Value_Meta':""
}
result = Meta.insert(Meta_data)
print('One Meta: {0}'.format(result))
Create_DB()
感谢帮助:)
答案 0 :(得分:0)
@Houacine Leila,
您可以在需要保持记录唯一性的每个集合上创建一个unique index。
示例:
对于Corpus
集合,Corpus_Name
上的唯一索引避免存储重复记录。
db.Corpus.createIndex({"Corpus_Name":1}, {"unique":true, "background":true})
注意:如果您在键Corpus_Name
上创建唯一索引,则所有现有文档都必须具有唯一值。创建此类索引之前,您需要考虑手动删除重复的记录。
在集合的特定键上创建唯一索引可确保不会在集合中创建具有相同键值的重复记录。