2017-10-29 4 views
0

私はMongoDBについて$existsを知っていますが、find()内のORロジックと組み合わせる方法はわかりません。MongoDB:存在しないまたは特定の値を見つけよう

base_currencyフィールドが存在しないか特定の値を持つすべてのトランザクションを検索したいとします。同時に、trade_currencyには特定の値が必要です。私が試したことはありますが、うまくいきません。あなたは$および$またはこれ等と組み合わせを使用することができます

txs = db.transactions.find({ 
    'base_currency': { $or: [{ $exists: true }, { $eq: base_currency }]}, 
    'trade_currency': currency 
}).sort([('datetime_closed', 1)]) 

答えて

1

db.transactions.find({ 
    "$and": [ 
     {"trade_currency" : currency}, 
     {"$or": [{"base_currency": {$exists: false}}, {"base_currency":base_currency }]}, 
    ] 
    }) 

あなたはそのフィールドを確認したい場合は、あなたは$を使用する必要が不足していることが存在する:偽

関連する問題