pymongo显示指定字段

连接数据库

myclient = pymongo.MongoClient("mongodb://localhost:27017")
db_IntData = myclient['IntData']
col_img_int = db_IntData["img_int2"] 

使用0或1,来表示不显示或显示指定字段

# 0表示不显示,其余默认都为1
data = col_img_int.find({},{'_id':0,'timestamp':0})
for i in data:
    print(i)

{‘img_id’: 1587189720, ‘img’: [0.0, 0.0, 0.0, 0.0, 42.86]}
{‘img_id’: 1587189721, ‘img’: [0.0, 50.0, 0.0, 0.0, 0.0, 50.0]}

# 1表示显示,其余默认为0
data = col_img_int.find({},{'_id':1,'img_id':1,'img':1})
for i in data:
    print(i)

{ ‘_id’: ObjectId(‘5e9a97d96751cca68bffed44’),‘img_id’: 1587189720, ‘img’: [0.0, 0.0, 0.0, 0.0, 42.86]}
{’_id’: ObjectId(‘5e9a97d96751cca68bffed47’),‘img_id’: 1587189721, ‘img’: [0.0, 50.0, 0.0, 0.0, 0.0, 50.0]}

特别注意:

除’_id’以外,不能在一个对象中同时指定 0 和 1,如果你设置了一个字段为 0,则其他都为 1,反之亦然。
其中’_id’默认显示,不显示的话需要单独指定

# 默认显示_id
data = col_img_int.find({},{'img_id':1,'img':1})
for i in data:
    print(i)

{ ‘_id’: ObjectId(‘5e9a97d96751cca68bffed44’),‘img_id’: 1587189720, ‘img’: [0.0, 0.0, 0.0, 0.0, 42.86]}
{’_id’: ObjectId(‘5e9a97d96751cca68bffed47’),‘img_id’: 1587189721, ‘img’: [0.0, 50.0, 0.0, 0.0, 0.0, 50.0]}

# 指定后不显示_id
data = col_img_int.find({},{'_id':0,'img_id':1,'img':1})
for i in data:
    print(i)

{‘img_id’: 1587189720, ‘img’: [0.0, 0.0, 0.0, 0.0, 42.86]}
{‘img_id’: 1587189721, ‘img’: [0.0, 50.0, 0.0, 0.0, 0.0, 50.0]}

你可能感兴趣的:(问题解决方案)