【问题标题】:MongoDB Find All CommentsMongoDB 查找所有评论
【发布时间】:2012-04-30 22:41:58
【问题描述】:

如果我有多个使用以下结构的文档:

{ 
  "_id" : ObjectId("4f9c6fe033cddec1bea430f2"), 
  "title" : "Product #1",
  "comments" : 
  [
  {
    "comment" : "My comment",  
    "date" : "2012-03-01 00: 00: 00",   
    "name" : "Test Name",   
    "username" : "Test Username"
  },
  {
    "comment" : "My comment",  
    "date" : "2012-03-01 00: 00: 00",   
    "name" : "Test Name 2",   
    "username" : "Test Username 2"
  }
  ]
}

我是否可以找到所有具有reviews.name 的文档并对其进行更新?例如,假设我想查找所有带有 user.name 的文档:测试名称 2 并将其更改为 Cassie。那可能吗?如果不是,将 cmets 放在不同的集合中会更好吗?

【问题讨论】:

    标签: php mongodb mongodb-php mongodb-query


    【解决方案1】:

    是的,这是可能的。您必须使用comments.username 找到它,然后使用comments.$.username 请注意,由于您要发布到数组,您必须使用$ positional operator 告诉mongo 进入那里

    【讨论】:

      猜你喜欢
      • 2021-02-01
      • 1970-01-01
      • 2016-01-13
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 2023-01-14
      • 2021-04-25
      相关资源
      最近更新 更多