我知道有人问过这个问题,但我想在直接修改数据库中找到答案,但在这种情况下,我想从用户对象中删除密码,这样密码就不会发送到前端,但是delete
不起作用,尽管user
是一个对象。
User.find({}).then(function(users) {
let counter = 1;
users.forEach(function(user) {
delete user.password;
console.log("after delete",user) // password key/value exist
userMap[counter] = user;
counter++;
});
return userMap;
});
任何想法!!我在用猫鼬
为什么不从查询本身中排除密码呢?查找的第二个参数让我们从结果中包含/排除键。
User.find({}, { "password": 0 }).then(function(users) {
// The users should not contain the password key here
});
我认为这可以从Mongoose v4.0.0
中获得。同样,您也可以在找到之后使用选择运算符。
User.find({}).select({ "name": 1 }).then(function(users) {
// Do something
});
此查询将只选择用户的名称。
您试图在Mongoose包装器对象上使用delete
关键字delete
关键字将用于本机Javascript对象。为此,您需要使用Mongoose提供的lean()
函数。
试试这个-
User.find({}).lean().then
我刚刚在find查询之后添加了lean()
函数。现在可以使用delete
关键字修改对象。
我在MongoDB中有一个动态键值对象。 任何帮助都会有帮助。 谢了。
问题内容: 例 删除 后如何保持按键顺序?我希望它是0..1..2..3..etc 问题答案: 您无法更改密钥的名称,没有用于执行此操作的API。如果要更改密钥的名称,则需要将该特定对象复制到另一个位置,更改名称并删除旧的密钥。但是在Firebase中无法更改密钥名称。
问题内容: 我正在开发一个Android项目,该项目需要JSONObject作为POST请求的主体。放置JSON的键和值后,我得到了以下代码行: 但是服务器得到以下信息: 我已经尝试过JSONStringer,但是它的帮助并不大,因为的请求是。 更新 我不尝试构造JSONObject,因为已经通过使用以下代码行(由@osayilgan给出的代码)完成了此操作: 这不是问题。下述接口用于与服务器通信
问题内容: 文件: 有没有办法从数组中提取特定对象?IE如何从项数组中提取ID为23的整个项对象。 我努力了: 但是我很确定我没有正确使用’pull’。据我了解,pull将从数组中拉出字段,而不是对象。 关于如何将整个对象从数组中拉出的任何想法。 另外,我尝试在mongoose / nodejs中执行此操作,也不确定这种类型的内容是否在mongoose API中,但我找不到它。 问题答案: 尝试.
问题内容: 我正在使用Mongoose库通过node.js访问MongoDB 有没有办法 从文档中删除密钥 ?即不只是将值设置为null,而是将其删除? 问题答案: 在早期版本中,您需要删除node-mongodb-native驱动程序。每个模型都有一个收集对象,该对象包含node-mongodb- native提供的所有方法。因此,您可以执行以下操作: 从2.0版开始,您可以执行以下操作: 从2