2017-05-10 12 views
0

から特定の形式のオブジェクトデータの配列を取り戻すと表現しますは、私は私が単純化された必要なフォーマットで必要のないデータを取り戻すんだ、</p> <p>をマングースとマングースクエリ

  1. 友人のサブ文書で_idとステータスを非表示にするにはどうすればよいですか?

  2. 私は、オブジェクトのidフィールドに_idおよびスキーマからのステータスを含むすべてのものを入れるのではなく、オブジェクトの配列を必要とします。

例:

var friends = [{firstName: "User 1", lastName: "User 1", username: "user1"}, {firstName: "User 2", lastName: "User 2", username: "user2"}] 

現在、それはあなたが

.select('firstName lastName username').exec(function(err, friends) { 
     res.json(friends); 
}) 

またはmapの組み合わせを使用したいプロパティのみを選択するように選択機能を使用して、この

var UserSchema = new Schema({ 
 
    friends: [ 
 
    { 
 
     id: 
 
     { 
 
      type: Schema.Types.ObjectId, ref: 'User'}, 
 
      status: Number 
 
     } 
 
    } 
 
    ] 
 
}); 
 

 
app.get('/getFriends', requireLogin, function(req, res) { 
 
    User.findOne({ _id: req.user.id }, 'friends') 
 
\t .populate({ 
 
\t path: 'friends.id', 
 
\t \t model: 'User', 
 
\t \t select: 'username firstName lastName -_id' 
 
\t }) 
 
\t .exec(function(err, friends) { 
 
\t res.json(friends); 
 
\t }) 
 
}) 
 

 
friends: [ 
 
    { 
 
    id: [Object], 
 
    status: 2, 
 
    _id: 590bbb88858367c9bb07776e 
 
    }, 
 
    { 
 
    id: [Object], 
 
    status: 2, 
 
    _id: 590bbb95858367c9bb07776f 
 
    } 
 
] 
 

 
id Object 
 
firstName: "User 1", lastName: "User 1", username: "user1"

答えて

0

のように見えますおよびキー/値のペア

var friends = [{ 
 
    id: 1, 
 
    status: 2, 
 
    _id: 590 
 
    }, 
 
    { 
 
    id: 2, 
 
    status: 2, 
 
    _id: 590 
 
    } 
 
]; 
 

 
friends = friends.map(function(v) { 
 
delete(v._id); 
 
return v; 
 
}); 
 

 
console.log(friends);

を除去する210
関連する問題