私のWebアプリケーションは、PythonとpyMongoを使用してMongoDBで実行されます。私はこのシナリオをたくさん得ます-次のようなコードを読み取ります:
from pymongo import Connnection
users = Connection().db.users
def findUsers(firstName=None, lastName=None, age=None):
criteria = {}
if firstName:
criteria['firstName'] = firstName
if lastName:
criteria['lastName'] = lastName
if age:
criteria['age'] = age
query = users.find(criteria)
return query
if
検索条件に入れる必要があるかどうかを判断するためにオプションであるすべての値のステートメントが必要なのは、そのような厄介なことです。mongoがクエリで無視した特別なクエリ値があった場合のみ。次に、私のコードは次のようになります。
def findUsers(firstName=<ignored by mongo>, lastName=<ignored by mongo>, age=<ignored by mongo>):
query = users.find({'firstName':firstName, 'lastName':lastName, 'age':age})
return query
特にオプションのパラメーターがもっとたくさんある場合は、以前ほどクリーンではなくなりました。指定されていないパラメータは、デフォルトでmongoが無視するものになります。これを行う方法はありますか?または、少なくとも私が現在持っているものよりも簡潔なものはありますか?