2017-09-25 2 views
0

私は指定されたID以外のすべての行を選択するための小さな問題があります。

例えば私のコード:

var ids = [{id: 123},{id: 222},{id:333}]; 
User.find({_id: {$ne: ids.id }},'firstName lastName _id avatar',function (err,users) {...}); 

正確な問題: 私は多くのユーザーIDを持つ変数を持っている、と私はこれらのIDなしでユーザーのみを選択します。

+0

のようなIDのプレーンな配列を持つためにマップを実行します'var id = {{" _id ":123}、{" _id ":222}、{{"}}、{ "_id":333}]; User.find({"$ nor":ids}、 'firstName lastName _id avatar'、function(err、users){...}); ' – chridam

答えて

2

結果から特定の配列を除外するmongodbの$ninを使用します。

は、私たちはあなたの配列は、あなたが単にクエリ使ってしまう、その後 `_id`フィールドをコレクションに一致する正確なキーを持っていた場合は、[**` $を[123, 222, 333]

const ids = [ 
    { 
     id: 123, 
    }, { 
     id: 222, 
    }, { 
     id: 333, 
    }]; 

    User.find(
    // Query 
    { 
    _id: { 
     $nin: ids.map(x => x.id), 
    }, 
    }, 

    // Projection 
    'firstName lastName _id avatar', 

    // Callback 
    function (err,users) {...}); 
関連する問題