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);
});
},
前端接收的所有字段(不應用過濾器)。 如果我用一種不同的方式來隱藏數據,例如:
users[i].password = "xxx";
users[i]._id = "xxx";
users[i].__v = "xxx";
users[i].admin = "xxx";
代替delete users[i].password
等..它沒有隱藏_id
和__v
成員,而password
場被正確地隱藏到前置式結束(admin
,因爲它是一個布爾值,所以變成true)。
這正是我一直在尋找 – pittuzzo