0
私のサーバーアプリケーション(Node.js)は、ユーザーリスト(jsonの配列)のフロントエンドに戻ります。しかし、私はパスワードのようないくつかの提出書類も返却したくない。これは私のユーザーモデルのコードです:Javascript:json配列のメンバーを削除する
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var config = require('../../config.js');
module.exports = mongoose.model(config.DATA_TYPE.USER, new Schema({
username: String,
password: String,
admin: { type: Boolean, default: false},
rate: { type: Number, default: 0},
customers: { type: Number, default: 0},
registration: { type: Date, default: Date.now}
}));
私はマネージャによって、いくつかのフィールドも転送しないようにしていますが、肯定的な結果は得られません。これは、アレイのユーザーオブジェクトのメンバーをほとんど削除しないようにする方法です。
var _ = require('lodash');
var User = require('../models/user.js');
var config = require('../../config.js');
var Manager = {
getUsers: function(callback){
User.find({ admin : "false"}, function(err,users){
for (i in users){
delete users[i].admin;
delete users[i].password;
delete users[i]._id;
delete users[i].__v;
}
callback(err,users);
});
},
フロントエンドはすべてのフィールドを受信します(フィルタは適用されません)。 私は、例えば、データを隠すために別の方法を使用する場合:password
フィールドが正しくフロントに隠されている間、代わりにdelete users[i].password
等...それは_id
と__v
メンバーを隠していないの
users[i].password = "xxx";
users[i]._id = "xxx";
users[i].__v = "xxx";
users[i].admin = "xxx";
終了(admin
、ブール値なのでtrueになります)。
これは私が探していたまさにです – pittuzzo