python – 在MongoEngine中链接查询
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 在MongoEngine中链接查询,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1215字,纯文字阅读大概需要2分钟。
内容图文
我正在为标准CRUD应用程序实现REST API.在一个示例中,要获取用户列表,客户可以调用:
获取api.site.com/users(以及可选)?name = x phone = x email = x
传递上述可选参数可过滤我搜索的用户.
我正在尝试在Python中实现这个逻辑.我正在考虑链接子查询,如下所示:
鉴于:
users = User.objects()
然后:
if 'name' in request.args:
users = users.objects(name = request.args['name'])
和:
# List of users is smaller after filtering by name
if 'phone' in request.args:
users = users.objects(phone = request.args['phone'])
和:
# List of users is smaller after filtering by phone
if 'email' in request.args:
users = users.objects(email = request.args['email'])
但是该方法不可用,我无法通过检查MongoEngine API参考或用户指南或教程来了解如何执行此操作.
如何在MongoEngine中链接子查询?
解决方法:
从mongoengine supports keyword arguments to the objects call开始,您可以创建一个字典,其键为field_names,值为field_values.然后在查询时使用这个字典.例如:
query = {}
if 'name' in request.args:
query['name'] = request.args['name']
if 'phone' in request.args:
query['phone'] = request.args['phone']
if 'email' in request.args:
query['email'] = request.args['email']
user = User.objects(**query)
以上只是一个示例,您可能希望添加安全措施,并且可能有默认查询,具体取决于您的应用程序.
内容总结
以上是互联网集市为您收集整理的python – 在MongoEngine中链接查询全部内容,希望文章能够帮你解决python – 在MongoEngine中链接查询所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。