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'])
我该如何解决?
答案 0 :(得分:2)
对象表示法的Python语法几乎与所有MongoDB官方文档中常用的JSON表示法完全相同。唯一的例外是"有序的dicts"实际应用的地方但在这种情况下不适用,因为没有需要特定订单的密钥。
所以它基本上只是遵循$all
的文档实际所说的内容,而与Unicode支持无关:
print(collection.find_one({ "tagList": { "$all": [ u"手拿包" ] } }))
是否为您实际抛出错误的行的正确形式。您的MongoDB语法错误,与中文字符无关。