2017-05-24 6 views
0

は、私は次のMongoDBのコレクションを持っている:MongoDB for MinusでのSQLと同等の操作は何ですか?

feb = [{ 
    "_id" : ObjectId("591df31cbbcd51d52653553c"), 
    "patientId" : 2, 
    "fullName" : "Lopez , Julia", 
    "EVOLUCIÓN" : "Medicada" 
}, ...] 



may = [ 
    {"_id" : ObjectId("59231f3ab36e83e3db6e03f8"), 
    "patientId" : 4, 
    "fullName" : "Martinez , Carolina", 
    "EVOLUCIÓN" : "15/08/97 : MEDICADA CON DERRUMAL A TERMINAR, TOMANIL GEL, ADAXIL AMP, ZOCOR 5, RENITEC 5, CERVILANE, Y AMLOC 5." 
}, ...] 

が、私は2月の投影を取得する必要があります - かもしれないのfullName上のMongoDBクエリーで。 SQLで は次のようになります。

SELECT fullName 
FROM feb 
MINUS 
SELECT fullName 
FROM may; 
+0

誰もがあなたの問題を解決しました。また、namesInMay$nin演算子を使用していますか?もしそうなら、あなたは最高の答えを受け入れてください(ポイントの下にあるチェックマークをクリックしてください)。それはあなたの質問に出くわす他のユーザーがすぐに受け入れられた答えを見つけるのを助け、15人の担当者も与えます。著者に指摘する(: – Danziger

答えて

1

あなたはMongoDBで一度に複数のコレクション間でのクエリを行うことはできません。あなたのアプリケーションレベルで分離した2つのクエリでMINUSをエミュレートする必要があります:

まず、あなたは月に名前を取得:

namesInMay = db.may.distinct("fullName"); 

その後、あなたは2月と同じことを行うが、あるものを除外

db.feb.distinct("fullName", { "fullName": { $nin: namesInMay }}); 
関連する問題