Bin*_*hen 5 python mongodb pymongo
我有这样的集合:
user_id     albums
1           [1 2 3 4]
2           [3 5 7 8]
我想查找所有记录,相册包含3或7或8,我写了这样的代码,但没有工作:
or_array = []
or_array.append({"albums":3})
or_array.append({"albums":7})
or_array.append({"albums":8})
collection1.find({"$or":or_array})
这样做的正确方法是什么?
试试这个
collection1.find({'albums': {'$in': [3, 7, 8]}})
来自mongodb文档, [IN] allow[s] you to specify an array of possible matches
如果这不起作用,可能会回溯并查看集合中的实际类型3 7并8确保它们是整数.
print type(collection1.find_one()['albums'][0])
| 归档时间: | 
 | 
| 查看次数: | 2361 次 | 
| 最近记录: |