首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mongodb-php更新$pull

mongodb-php更新$pull
EN

Stack Overflow用户
提问于 2012-01-21 19:44:54
回答 1查看 3.4K关注 0票数 2

这里有一个集合"emailDeliveryActive":

代码语言:javascript
复制
{
 "_id": ObjectId("4f1950f0e902edfc3e000001"),
 "coupons": {
   "4f1950b7e902edf23e000001": {
     "_id": ObjectId("4f1950b7e902edf23e000001"),
     "couponID": ObjectId("4f15c7d8e902edb667000000")
   },
   "4f1950bfe902ed843f000000": {
     "_id": ObjectId("4f1950bfe902ed843f000000"),
     "couponID": ObjectId("4f171f33e902ed4f4f000002")
   }
 },
 "recipients": [
   {
     "email": "test1@gmail.com",
     "get": "?auth=ZG1pdHJ5LnZvbG9zbmloaW5AZ21haWwuY29tfDA5OGY2YmNkNDYyMWQzNzNjYWRlNGU4MzI2MjdiNGY2"
   },
   {
     "email": "test2@gmail.com",
     "get": "?auth=ZGpyb3VibGVAZ21haWwuY29tfDA5OGY2YmNkNDYyMWQzNzNjYWRlNGU4MzI2MjdiNGY2"
   },
   {
     "email": "test3@gmail.com",
     "get": "?auth=a2FsaWJyb3YxQGdtYWlsLmNvbXwwOThmNmJjZDQ2MjFkMzczY2FkZTRlODMyNjI3YjRmNg=="
   }
 ],
 "title": "test"
}

必须从“收件人”数组中删除给定电子邮件中的项目。执行此操作:

代码语言:javascript
复制
$result = $mongoDB->emailDeliveryActive->update(
array('_id' => $emailDelivery['_id']),
array(
'$pull'=>array(
'recipients.$.email' => 'test1@gmail.com'
)
)
);

$result,但是集合不会改变。我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-21 22:26:52

您不需要$运算符-它用于“查询中匹配数组项的位置”-在这里使用没有意义。尝试为:

代码语言:javascript
复制
 $result = $mongoDB->emailDeliveryActive->update(
     array('_id' => $emailDelivery['_id']),
     array(
          '$pull'=> array('recipients' => array('email' => 'test1@gmail.com'))
          )
 );
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8952714

复制
相关文章

相似问题

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