2018-04-22 mongodb python 中list的映射 问题,还没有及时更新 , list的变量对象没更新,但其实 数据库里其实已经更新了

> use waitercaller

switched to db waitercaller

> db.tables.find({"owner":"[email protected]"})

{ "_id" : ObjectId("5add13e4e17d03704d93965d"), "owner" : "[email protected]", "number" : "4", "url" : "http://bit.ly/2HBtt1h" }

{ "_id" : ObjectId("5add13e4e17d03704d93965e"), "owner" : "[email protected]", "url" : "http://bit.ly/2HBtt1h", "number" : "5" }

> db.requests.find({"owner":"[email protected]"})

{ "_id" : ObjectId("5add13ece17d03704d93965f"), "count" : 0, "table_number" : "4", "table_id" : "5add13e4e17d03704d93965d", "time" : ISODate("2018-04-22T18:59:56.084Z"), "owner" : "[email protected]" }

{ "_id" : ObjectId("5add1468e17d03710dffc1b7"), "count" : 0, "table_number" : "4", "table_id" : "5add13e4e17d03704d93965d", "time" : ISODate("2018-04-22T19:02:00.143Z"), "owner" : "[email protected]" }



上面的记录产生的过程:

1,显示 4个%s ( + 显示table_number )

2, 显示 4个%s ( + 显示count )

your id is 5add1468e17d03710dffc1b7 5add1468e17d03710dffc1b7 [email protected] 0     (第2次时) 

your id is 5add160be17d0373005886bf 5add160be17d0373005886bf [email protected] 0  (第3次时 ,但此时预想 count =13) 


我猜想 类似 python 中list的映射 问题,还没有及时更新 , list的变量对象没更新,但其实 数据库里其实已经更新了。 

{ "_id" : ObjectId("5add160be17d0373005886bf"), "count" : 13, "table_number" : "4", "table_id" : "5add13e4e17d03704d93965d", "time" : ISODate("2018-04-22T19:08:59.873Z"), "owner" : "[email protected]" }

如何验证 我的猜想 ? 增加一行代码如下: (目的就是 刷新 存 list地址的那个变量,从 request02 -->改成 request03 ,刷新一下)

2018-04-22 mongodb python 中list的映射 问题,还没有及时更新 , list的变量对象没更新,但其实 数据库里其实已经更新了_第1张图片

结果在 网站上 ,果然就是 按 最新的 request03为地址的list里的内容 来显示 request03·count] ,注 :现在是正确的了。

your id is 5add17eae17d0374e8818c88 5add17eae17d0374e8818c88 [email protected] 23




@app.route("/newrequest/")

def new_request(tid):

    count = 0


    requestid = DB.add_request(tid, datetime.datetime.now(),count)

    #return "your id is %s" % str(requestid)

    request02 = DB.get_request(requestid)

    DB.update_request(requestid,count=23)

    request03 = DB.get_request(requestid)

    #count = DB.get_requestcount_max(request02['owner'])

    #DB.update_request(requestid,count)

    return "your id is %s %s %s %d" % (requestid ,request03['_id'],request03['owner'],int(request03['count']))

    #print "%s %d" %(tittle,blockcode_passed)

    #request02['table_number'] is unicode format

'''

    if requestid :

        request02 = DB.get_request(requestid)

        count = DB.get_requestcount_max(request02['owner'],request02['table_number'])

        count += 1

        DB.update_request(requestid,count)

    #DB.delete_request_redundancy(tid)

    return "Your request has been logged and a waiter will be with you shortly"

'''



@app.route("/account/createtable", methods=["POST"])

@login_required

def account_createtable():

    form = CreateTableForm(request.form)

    if form.validate():

        tableid = DB.add_table(form.tablenumber.data, current_user.get_id())

        new_url = BH.shorten_url(config.base_url + "newrequest/" + str(tableid))

        DB.update_table(tableid, new_url)

        flagfromtable =1

        if flagfromtable == 1:

            tableid02 = DB.add_table_fulltest(form.tablenumber.data, current_user.get_id(),new_url)

            #DB.add_request(tableid, datetime.datetime.now())

            #DB.delete_request_redundancy(tableid)

        #DB.delete_table_fulltest(tableid02)

        return redirect(url_for('account'))

        # the delete action must in anoter new thread. I try more and fail within the same if form.v..().

        DB.delete_request_redundancy(tableid)

    return render_template("account.html", createtableform=form, tables=DB.get_tables(current_user.get_id()))

你可能感兴趣的:(2018-04-22 mongodb python 中list的映射 问题,还没有及时更新 , list的变量对象没更新,但其实 数据库里其实已经更新了)