如何同时插入(如果不添加更新)两个字段? 它适用于单个字段,但它不再适用于两个字段。
我做错了什么?:
$db->url->update(
array("url" => $linkurlcache),
array('$set' => array('url' => $linkurlcache, 'pos' => $rand_num)),
array("upsert" => true),
array("multi" => true)
);
答案 0 :(得分:0)
我真的很讨厌回答我自己的问题。我会删除它,但我找不到任何网站上的解决方案。
无论如何,考虑到我们调用更新函数,array("multi" => true)
很有意义,但这是错误的。
正确的解决方案是没有它! 只是:
$db->url->update(
array("field1" => $field1),
array('$set' => array('field1' => $field1, 'field2' => $field2)),
array("upsert" => true)
);
因为upsert
实际上插入(如果查询不匹配)。