0

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

{ 
  "_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。那可能吗?如果不是,将评论放在不同的集合中会更好吗?

4

1 回答 1

2

对的,这是可能的。您必须使用comments.username来找到它,然后comments.$.username请注意,由于您要发布到数组,因此您必须使用$ 位置运算符告诉 mongo 进入那里

于 2012-05-01T00:47:34.593 回答