我正在研究python和mongodb。我试着通过把他们的名字和他们的电话号码匹配起来,从一张有的桌子上找到他们的名字。电话号码在我从另一个表中获取号码创建的列表中。它的工作正常,但我得到的输出打印两次
phone = ["9585507882","9542158582"]
datum = []
for i in phone:
cursor = db.name.find({"phone": i},{"_id": False})
value = yield cursor.count()
if value is 0:
pass
else:
result = []
for document in (yield cursor.to_list(length=100)):
datum.append(document)
print(datum)
self.write(bson.json_util.dumps({"result": datum}))
我的输出是
{"result": [{"phone": "9585507882", "name": "Sanjay"}]}{"result": [{"phone": "9585509882", "name": "Sanjay"}, {"phone": "9542158582", "name": "Joe"}]}
有人能帮我解决这个问题吗
更简单的方法是
您正在
for
循环中调用self.write()
,而您仍在构建datum
。将其移到外部,使其仅在收集完所有数据后运行:还有,而不是
最好这样做
还有,
result = []
有什么用?你不能拿那张单子做任何事相关问题 更多 >
编程相关推荐