2016-09-16 12 views
0

Meteor/MongoをTypescript/Javascriptで使用しています。複数のメンバーIDを持つMongoの結果

私は開発中のチャットアプリを持っています。私はMongoから結果セットを得る。

const chats: Mongo.Cursor<Chat> = Chats.find(
    { memberIds: 'J65'}, 
    { 
    sort: { lastMessageCreatedAt: -1 }, 
    transform: this.transformChat.bind(this), 
    fields: { memberIds: 1, lastMessageCreatedAt: 1 } 
    } 
); 

これは、J65のチャットを返します。

質問

は、それが複数のmemberIdsを持つことは可能ですか?すなわち、すなわち、それは試合(ただしエラーなし)があるにもかかわらず、何も返しません、私はノー成功でこれを試してみました

つ以上の一致するid

詳細情報のために結果を返します。

let registeredIds: String[] = ['J65', 'J66']; 
... 
{ memberIds: registeredIds }, 

が、これはデータベース内にあるものです:あなたは$in演算子を使用する必要があります

[ 
    { 
    "_id": "CHb8FSuGSfZMPhkrW", 
    "memberIds": [ 
     "P9", 
     "J64" 
    ] 
    }, 
    { 
    "_id": "uMSJjHheTp7RhGdH3", 
    "memberIds": [ 
     "P9", 
     "J65" 
    ] 
    }, 
    { 
    "_id": "e6ZMmRaJLPptF63z8", 
    "memberIds": [ 
     "P9", 
     "J66" 
    ] 
    } 
] 

答えて

2

。あなたのコードは次のように見えるもの

const chats: Mongo.Cursor<Chat> = Chats.find(
    { memberIds: {$in:['J65','J66','J67']}, 
    { 
    sort: { lastMessageCreatedAt: -1 }, 
    transform: this.transformChat.bind(this), 
    fields: { memberIds: 1, lastMessageCreatedAt: 1 } 
    } 
); 

は、より多くの情報のためdocsを参照してください。

+0

ありがとうございます。うまくいく – Richard

関連する問題