pymongo查询列表元素_python – 如何从pymongo中的列表中查询元素

pymongo在尝试从标签查询和元素时抛出一个错误

db.users.find({"pseudo":"alucaard"}).distinct("produit_up")

Out[1]:

[{u'abus': 0,

u'avctype': u'image/jpeg',

u'date': u'2012-09-15',

u'description': u'le fameux portable solide',

u'id': u'alucaard134766932677',

u'namep': u'nokia 3310',

u'nombre': 1,

u'orientation': u'portrait',

u'photo': ObjectId('5053cd4e3a5f3a0990da8a61'),

u'prix': 1000,

u'tags': [u'solide', u'le', u'fameux', u'portable'],

u'vendu': False}]

list(db.users.find({"solide":{"$in":{"document_up.tags"}}}))

Traceback (most recent call last):

File "C:\Python27\lib\site-packages\IPython\core\interactiveshell.py", line 2746, in run_code exec code_obj in self.user_global_ns, self.user_ns

File "", line 1, in

list(db.users.find({"solide":{"$in":{"document_up.tags"}}}))

File "C:\Python27\lib\site-packages\pymongo\cursor.py", line 778, in next

if len(self.__data) or self._refresh():

File "C:\Python27\lib\site-packages\pymongo\cursor.py", line 729, in _refresh

self.__uuid_subtype))

InvalidDocument: Cannot encode object: set(['document_up.tags'])

注意:对于pymongo用户来说,只是一个技巧,如果您的用户在文本中的大小有限,只需使用一组转换它,将该组转换为列表:

例如 :

phrase = "hi you, how are you, am i using this"

>第一步:删除逗号或点以避免正则表达式搜索.

>第二,使用phrase.split()来分割单词.

>将其添加到集合中以避免重复的单词.

>将集转换为列表

>制作一个包含一些将从列表中删除的单词的词典是一个好主意,比如“如何”,“你”,“我”……但它会进行大量的计算.

希望这个想法会有所帮助.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值