使用mongoose将引用的字段设置为null

时间:2015-04-18 14:09:28

标签: node.js mongodb mongoose

我有一个架构:

var talentSchema=new Schema({
    name: String,
    active: Boolean,
    txfreq: {type: Schema.Types.ObjectId, ref: 'frequency', null:true}
});

并非所有文档都有填充的txfreq字段,并且它们最初存储为null。

在应用程序运行期间,必须将txfreq的某些值设置为null。

var pTalent=goose.talent 
    .where({txfreq:data.freqid,$isolated:1}) 
    .setOptions({multi:1}) 
    .update({txfreq:null}) 
    .lean() 
    .exec(); 

我正在使用保证链来确保所有更新都以正确的顺序发生,但是以这种方式将txfreq设置为null根本不起作用。

将mongoose debugging设置为true,不记录任何查询,并且我可以将任何记录设置为null的唯一方法是使用游标“查找”记录并在再次保存每个文档之前将它们单独设置为null。

我非常希望使用单个更新命令来执行此操作。

如何做到这一点?

这就好像猫鼬只是忽略了命令。

0 个答案:

没有答案