簡體   English   中英

在Pymongo中使用漢字

[英]Using Chinese Characters with Pymongo

def readTags(collection,index):
    file = open("F:\\dship\\odps-dship\\test_tag_data.txt")
    while True:
        line = file.readline()
        if not line:
            break
        strArr = line.split("\t")[8].split(" ")
        for index in range(len(strArr)):
            #queryTag = strArr[index]
            print(collection.find_one({"tagList":{"$all",u"手拿包"}}))

當我的程序執行時,我得到以下異常

bson.errors.InvalidDocument: Cannot encode object: set(['$all', u'\u624b\u62ff\u5305'])

我該如何解決?

對象表示法的Python語法與所有MongoDB官方文檔中常用的JSON表示法幾乎完全相同。 唯一的例外是實際應用的“有序字典”,但在這種情況下它不適用,因為沒有鍵需要特定的順序。

因此,它基本上只是遵循$all文檔的實際內容,與Unicode支持無關:

print(collection.find_one({ "tagList": { "$all": [ u"手拿包" ] } }))

是實際上為您引發錯誤的行的正確形式。 您的MongoDB語法錯誤,與漢字無關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM