bri*_*ian 5 sails.js waterline sails-mongo
使用Waterline ORM在MongoDB中取消设置密钥的方法是什么?
请考虑以下文档:
{
name : 'brian',
age : 29
}
Run Code Online (Sandbox Code Playgroud)
获得用户是没有问题的:
var users = Users.findOne({ name : 'brian' }).exec(cb);
Run Code Online (Sandbox Code Playgroud)
我希望年龄能够消失.我已尝试以下方法来完成此任务:
user.age = undefined;
user.save();
user.age = null;
user.save();
delete user.age;
user.save();
Run Code Online (Sandbox Code Playgroud)
似乎没有工作.#1将其设置为null,#2将其设置为null,#3保留原始值.
谢谢.
Waterline是一种旨在支持各种数据存储的ORM,因此它不支持MongoDB特有的方法.您始终可以使用该.native()方法访问基础MongoDB驱动程序,然后执行任何操作(请参阅MongoDB节点驱动程序文档以获取可用方法):
User.native(function(err, collection) {
collection.findAndModify(
{name: 'brian'},
{$unset: {age: true}},
function (err, object) {
// Continue...
}
);
})
Run Code Online (Sandbox Code Playgroud)