社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

bagerard

bagerard 最近创建的主题
bagerard 最近回复了
3 年前
回复了 bagerard 创建的主题 » 在Python 3.9.6上安装pyzmail36时出错

将MongoEngine升级至>=0.20还可以作为Python2支持来解决这个问题(因此 use_2to3 )下降了0.20

5 年前
回复了 bagerard 创建的主题 » 组合MongoDb客户端:pyMongo和MongoEngine

目前不可能使用现有的 Pymongo 要连接的客户端 MongoEngine 但是您可以做相反的事情;如果您连接MongoEngine,您可以检索它的底层pymongo客户机或数据库实例。

from mongoengine import connect, get_db, Document, StringField

conn = connect()    # connects to the default "test" database on localhost:27017

print(conn)    # pymongo.MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, read_preference=Primary())

db = get_db()  # pymongo.Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, read_preference=Primary()), u'test')
print(db)

class Person(Document):
    name = StringField()


coll = Person._get_collection()
print(coll)    # pymongo.Collection(Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, read_preference=Primary()), u'test'), u'person')
6 年前
回复了 bagerard 创建的主题 » 在MongoDB中查询对象内的嵌套文档

如果我理解正确的话,你需要所有的票,来自所有具有特定角色的用户。 由于票证(通过使用embeddeddocument)嵌套在用户的文档中,一种方法是:

admin_tickets = []
for user in User.objects(role='admin'):
    admin_tickets += user.tickets

或者如果你想提高一点性能并且不需要用户信息,你可以使用 scalar 以下内容:

admin_tickets = []
for user_tickets in User.objects(role='admin').scalar('tickets'):
    admin_tickets += user_tickets
5 年前
回复了 bagerard 创建的主题 » python,遍历dictionary对象中的多个列表以查找特定值

据我所知,你需要选择 value 项目中的字段 protocol_parameters 包含name=identifier的。

你可以用 next() 从中查找第一项 协议\参数 符合该条件的列表。见下文:

records = [{'internal': False, 'protocol_parameters': [{'name': 'identifier', 'id': 1, 'value': 'x.x.x.x'}]},
{'internal': False, 'protocol_parameters': [{'name': 'identifier', 'id': 0, 'value': 'y.y.y.y'}, {'name': 'incomingPayloadEncoding', 'id': 1, 'value': 'UTF-8'}]},
{'internal': False, 'protocol_parameters': [{'name': 'incomingPayloadEncoding', 'id': 1, 'value': 'UTF-8'}, {'name': 'identifier', 'id': 0, 'value': 'z.z.z.z'}]}
]

for record in records:
     identifier_param = next((prot_param for prot_param in record['protocol_parameters'] if prot_param['name']=='identifier'), None)
     if identifier_param:
         print(identifier_param['value'])

印刷品

x.x.x.x
y.y.y.y
z.z.z.z