Dan*_*ley 83 mongoose mongodb node.js document-database
我正在使用Mongoose Library通过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();
});
Run Code Online (Sandbox Code Playgroud)
sta*_*er2 141
在早期版本中,您需要删除node-mongodb-native驱动程序.每个模型都有一个集合对象,其中包含node-mongodb-native提供的所有方法.因此,您可以通过以下方式执行相关操作:
User.collection.update({_id: user._id}, {$unset: {field: 1 }});
Run Code Online (Sandbox Code Playgroud)
从版本2.0开始,您可以:
User.update({_id: user._id}, {$unset: {field: 1 }}, callback);
Run Code Online (Sandbox Code Playgroud)
从版本2.4开始,如果您已经拥有模型实例,则可以执行以下操作:
doc.field = undefined;
doc.save(callback);
Run Code Online (Sandbox Code Playgroud)
小智 45
你会想要这样做:
User.findOne({}, function(err, user){
user.key_to_delete = undefined;
user.save();
});
Run Code Online (Sandbox Code Playgroud)
Nou*_*had 26
我使用mongoose并使用上述任何功能都符合我的要求.该函数编译无错误,但该字段仍将保留.
user.set('key_to_delete', undefined, {strict: false} );
Run Code Online (Sandbox Code Playgroud)
为我做了诀窍.
在mongo语法中删除一些密钥,您需要执行以下操作:
{ $unset : { field : 1} }
Run Code Online (Sandbox Code Playgroud)
似乎在Mongoose也一样.
编辑
检查此示例.
| 归档时间: |
|
| 查看次数: |
66615 次 |
| 最近记录: |