无法使用findAndModify查询删除字段

时间:2016-04-15 08:53:11

标签: node.js mongodb

我正在尝试使用node.js中的findAndModify查询来更新现有的mongodb文档。我想添加product_category_ids字段&删除error_state字段。我想在单个查询中执行这两个更新。如果我只指定$set它工作正常,但如果我同时指定$ set& $ unset,它将product_category_ids设置为空值。

我的查询如下:

conn.collection('error_import').findAndModify({_id:o_id},[['_id',1]],{ $set: {"product_category_ids":sss.category}}{ $unset: {"error_state":""}},{new:true},function(err,result) {
      if ( err ) 
        console.warn(err);
      else {
        conn.collection('product_import').insert({"tags":result.value.tags, "category_hierarchy":result.value.category_hierarchy, "error_state":result.value.error_state});
      }
});

请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:0)

try using

{ $set: {"product_category_ids":sss.category}, $unset: {"error_state":""}}

instead of

{ $set: {"product_category_ids":sss.category}}{ $unset: {"error_state":""}}