Pymongo $ Unset什么都不做

时间:2015-08-17 13:35:56

标签: python mongodb flask pymongo

我正在使用pymongo和flask将有关某个人拥有的桌面的信息从数据库放到表格的网页上。很简单。但我有一个按钮,应该使用$ pull从数据库中删除桌面。

mongo文档如下所示:

{
    "_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页面中的按钮时没有发生任何事情,没有抛出任何错误,否则代码运行正常,但是应该删除的字段仍然存在。

当我手动插入名称和模型时,更新$ unset方法在mongo终端中工作,因此我的语法对于pymongo是错误的还是有更深层次的问题?

谢谢!

0 个答案:

没有答案