首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Lithium中使用MongoDB upsert

在Lithium中使用MongoDB upsert
EN

Stack Overflow用户
提问于 2013-04-19 15:14:59
回答 1查看 305关注 0票数 1

我在用MongoDB在锂上执行upsert时遇到了一点问题。更新运行得很好,但不会执行插入。我的代码是:

代码语言:javascript
复制
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查询:

代码语言:javascript
复制
db.osmblags.update( { "address" : "test address" }, { $addToSet : { "user_id" : "56" } }, { upsert : true } );

查询和PHP代码都不起作用。它们是不是user_ids数组中不允许重复的$addToSet的替代品?

(对不起,我是Lithium和Mongo的新手

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-19 21:49:59

update()的前两个论点似乎有问题。这些参数是用于数据和条件的,因此您不需要在要传递的数组中包含这些键。尝尝这个。

代码语言:javascript
复制
Feeds::update(
    array('$addToSet' => 
        array('user_id' => $user["_id"]) 
    ), //what to change
    array('address' => $address), //where to change it
    array('upsert' => true)
);

我不确定为什么在MongoDB中查询不能直接为您工作。这对我来说很好。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16099236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档