我正在尝试获得一个与给定产品相似的产品列表(按给定产品类型相似(,但不包括给定的产品。
我的数据库中有3个床位实例,所以我想获得它们的另外2个实例,但不返回原始的1,在这种情况下,ID为1。
看过文档后,我认为下面的内容会起作用,但它给了我500个内部错误。
product_type = "Bed"
product_id = 1
client = MongoClient("...")
db = client.assignment
theId = db.products.find({"_id": {"$ne": product_id}})
theProd = db.products.find({"product_type": {"$eq": product_type}})
myCursor = db.products.find({"$and": [theId, theProd]})
list_cur = list(myCursor)
json_data = dumps(list_cur)
return json_data
我发现了这个问题,对于以后看到这个问题的人来说,我更改了
theId = db.products.find({"_id": {"$ne": product_id}})
theProd = db.products.find({"product_type": {"$eq": product_type}})
myCursor = db.products.find({"$and": [theId, theProd]})
至
myCursor = db.products.find({"product_type": {"$eq": product_type}, "_id": {"$ne": product_id}})