我在使用 MongoDB 在 Lithium 中执行 upsert 时遇到了一点问题。更新工作正常,但它不会插入。我的代码是:
Feeds::update(
array('data' =>
array('user_id' =>
array('$addToSet' => $user["_id"])
)
), //what to change
array('conditions' =>
array('address' => $address)
), //where to change it
array('upsert' => true)
);
这应该对应于 MongoDB 查询:
db.osmblags.update( { "address" : "test address" }, { $addToSet : { "user_id" : "56" } }, { upsert : true } );
查询和 PHP 代码都不起作用。他们是 $addToSet 的替代品,它不允许 user_ids 数组中的重复项吗?
(对不起,我对 Lithium 和 Mongo 都是新手