Пожалуйста, просмотрите следующие строки кода и результаты:
import pymongo
d1 = {'p': 0.5, 'theta': 100, 'sigma': 20}
d2 = {'theta': 100, 'sigma': 20, 'p': 0.5}
I get the following results:
d1 == d2 // Returns True
collectn.find({'goods.H': d1}).count() // Returns 33
collectn.find({'goods.H': d2}).count() // Returns 2
где collectn
- объект коллекций Mongodb.
Есть ли способ или способ запроса, чтобы получить те же результаты для вышеупомянутых двух запросов?
Они по существу используют один и тот же словарь (в
смысл d1 == d2
составляет True
). Я пытаюсь сделать следующее:
перед тем, как вставить запись в базу данных, я проверяю, есть ли
уже существует запись с добавленной точной комбинацией значений.
Если да, то я не хочу делать новую запись. Но из-за вышеизложенного
показанного поведения становится возможным получить, что запись не существует даже
когда это происходит, и дублирующая запись добавляется в базу данных (конечно, с разными _id
но все остальные значения одинаковы, и я бы предпочел не иметь этого).
Заранее благодарим вас за помощь.