Python Pymongo$Unset不';我什么也不做
我使用pymongo和flask将个人拥有的数据库中的台式机的信息放到表中的网页上。很简单。但是我有一个按钮,它应该使用$pull从数据库中删除桌面 mongo文档如下所示:Python Pymongo$Unset不';我什么也不做,python,mongodb,flask,pymongo,Python,Mongodb,Flask,Pymongo,我使用pymongo和flask将个人拥有的数据库中的台式机的信息放到表中的网页上。很简单。但是我有一个按钮,它应该使用$pull从数据库中删除桌面 mongo文档如下所示: { "_id" : ObjectId("55c4a89a80071a0ef20e4df1"), "Hostname" : "XXXXXXXXX", "BUILD OS" : "WINDOWS 7 ENTERPRISE", "Current User" : "CAMPELK", "Pr
{
"_id" : ObjectId("55c4a89a80071a0ef20e4df1"),
"Hostname" : "XXXXXXXXX",
"BUILD OS" : "WINDOWS 7 ENTERPRISE",
"Current User" : "CAMPELK",
"Primary User" : "CAMPELK",
"Location" : "XXXXX",
"Model" : "vmware inc. vmware virtual platform",
"BUILD Version Full" : "5.1.00.00",
"BUILD Version" : 5.1,
}
(由于工作场所的规定,我不得不审查一些数据)桌面模型的名称从下拉菜单表单返回为如下字符串:
@app.route('/contact_desktop', methods=['GET', 'POST'])
def contact2():
form1= name_search()
name = form1.name.data
choices = DI.make_dictionary()
form2 = ContactFormDesktop()
models = DI.return_model(name)
if request.method == 'POST':
DI.remove_give_back_desktop(models, form2.choose_desktop.data, name)
return render_template('thanks.html', thing = "desktop")
remove_give_back_desktop()方法应该删除与表单返回的模型字符串匹配的字段:
def return_model(name):
models = list()
for entry in db.names.find({}):
model = entry["models"]
models.append(model)
return models
def remove_give_back_desktop(model1, model2, name):
for entry in model1:
if entry == model2:
db.desktops.update_one({"Current User":name, "Model": entry},{"$unset":{"Model":""}})
但是,当我单击html页面中的按钮时,什么也没有发生,没有抛出错误,代码运行正常,否则,应该删除的字段仍然存在
当我手动插入名称和模型时,update$unset方法在mongo终端中起作用,那么我的pymongo语法是错误的还是有更深层次的问题
谢谢 功能输入为“model1”和“model2”。您的查询调用“model”,它未定义,因此与任何内容都不匹配,对不起,这是因为试图正确使用空格而造成的输入错误。编辑我的问题,上面的问题仍然存在。同时,您可以触发mongodb的详细日志,查看对db的确切操作。我仍然强烈建议您查看您的输入并进行一些日志记录。这里最可能的解释是查询与任何内容都不匹配。不,您没有发现错误。请尝试以下操作:db.desktops.update_one({“当前用户”:名称,“模型”:条目},{“$unset”:{“模型”:1}})函数输入为“模型1”和“模型2”。您的查询调用“model”,它未定义,因此与任何内容都不匹配,对不起,这是因为试图正确使用空格而造成的输入错误。编辑我的问题,上面的问题仍然存在。同时,您可以触发mongodb的详细日志,查看对db的确切操作。我仍然强烈建议您查看您的输入并进行一些日志记录。这里最可能的解释是查询与任何内容都不匹配。不,您没有发现错误。请尝试以下操作:db.desktops.update_one({“当前用户”:名称,“模型”:条目},{“$unset”:{“模型”:1}})