upstart脚本不起作用



我试图让upstart工作,但没有得到任何结果

我在这个脚本之前发布了三个变量。如果我更新,我会得到结果,但我想追加销售,但没有得到结果。

这是我的代码:

if(isset($_POST)){
if($array){
$doc = $collection->update(
array(
'$set' => array(
'_id' => new MongoId(),
'organization' => $mysql_org_name,
'purch_code' => $mysql_purch_code,
'contentname' => $mysql_order_item_name,
array('upsert' => true)
)
)
);
}
}

Update需要3个参数数组。你只通过了一次。

首先,您已经将选项作为$set数组的一部分。它们应该作为一个单独的参数在update子句之后传递。

此外,您没有匹配条件(即,用于选择要更新的项目的查询语句)。当使用upstart和$set时,将使用两个数组中的字段创建一个新项(请参阅相关文档)。

最后,如果您没有为_id指定一个值,Mongo将为您生成一个值。


例如,如果您想根据organization字段进行匹配:

if(isset($_POST)){
if($array){
$doc = $collection->update(
array('organization' => $mysql_org_name),
array(
'$set' => array(
'purch_code' => $mysql_purch_code,
'contentname' => $mysql_order_item_name,
)
),
array('upsert' => true)
);
}
}

如果这与一个或多个条目匹配,则只有purch_codecontentname字段会在第一个匹配对象上更新(要更新多个条目,您必须在选项数组中指定'multiple'=>true)。如果没有匹配项,将插入一个新条目:

  1. A生成的_id
  2. 所有匹配标准值(即organization)
  3. 所有更新运算符值(即purch_codecontentname)

您在单引号上设置了变量$'$set'=>数组(

最新更新