我正在使用Mongoose库通过node.js访问MongoDB
有没有办法 从文档中删除密钥 ?即不只是将值设置为null,而是将其删除?
User.findOne({}, function(err, user){ //correctly sets the key to null... but it's still present in the document user.key_to_delete = null; // doesn't seem to have any effect delete user.key_to_delete; user.save(); });
在早期版本中,您需要删除node-mongodb-native驱动程序。每个模型都有一个收集对象,该对象包含node-mongodb- native提供的所有方法。因此,您可以执行以下操作:
User.collection.update({_id: user._id}, {$unset: {field: 1 }});
从2.0版开始,您可以执行以下操作:
User.update({_id: user._id}, {$unset: {field: 1 }}, callback);
从2.4版开始,如果已经有模型实例,则可以执行以下操作:
doc.field = undefined; doc.save(callback);