すべての列で一致をカウントしようとしています。
現在、このコードを使用して、Scrapy アイテムから特定のフィールドをコピーしています。
def getDbModel(self, item):
deal = { "name":item['name'] }
if 'imageURL' in item:
deal["imageURL"] = item['imageURL']
if 'highlights' in item:
deal['highlights'] = replace_tags(item['highlights'], ' ')
if 'fine_print' in item:
deal['fine_print'] = replace_tags(item['fine_print'], ' ')
if 'description' in item:
deal['description'] = replace_tags(item['description'], ' ')
if 'search_slug' in item:
deal['search_slug'] = item['search_slug']
if 'dealURL' in item:
deal['dealurl'] = item['dealURL']
これをmongodbのOR検索にどのように変換するのか疑問に思っています。
私は以下のようなものを見ていました:
def checkDB(self,item):
# Check if the record exists in the DB
deal = self.getDbModel(item)
return self.db.units.find_one({"$or":[deal]})
まず、これは最善の方法ですか?
次に、一致した列の数をどのように見つけますか。つまり、少なくとも 2 つの列に一致するレコードを制限しようとしています。