Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当MongoDB中其他集合的文档发生更改或更新时,如何更新一个集合中的文档_Php_Mongodb - Fatal编程技术网

Php 当MongoDB中其他集合的文档发生更改或更新时,如何更新一个集合中的文档

Php 当MongoDB中其他集合的文档发生更改或更新时,如何更新一个集合中的文档,php,mongodb,Php,Mongodb,我创建了两个集合“用户”和“帖子” 用户文档结构如下所示: { "_id": { "$oid": "54dde0e32a2a999c0f00002a" }, "first_name": "Vamsi", "last_name": "Krishna", "email": "vamshi@test.com", "password": "5f4dcc3b5aa765d61d8327deb882cf99", "date_of_bir

我创建了两个集合“用户”和“帖子”

用户文档结构如下所示:

{
    "_id": {
        "$oid": "54dde0e32a2a999c0f00002a"
    },
    "first_name": "Vamsi",
    "last_name": "Krishna",
    "email": "vamshi@test.com",
    "password": "5f4dcc3b5aa765d61d8327deb882cf99",
    "date_of_birth": "1999-01-05",
    "gender": "male",
    "status": "Active",
    "date_created": "2015-02-13 12:32:50"
}
而posts文档结构是:

{
    "_id": {
        "$oid": "54e1a2892a2a99d00500002b"
    },
    "post_description": "Test post 1",
    "posted_by": {
        "id": "54dde0e32a2a999c0f00002a",
        "first_name": "Vamsi",
        "last_name": "Krishna",
        "gender": "male"
    },
    "posted_on": "2015-02-16 08:55:53",
    "comments": [],
    "likes": {
        "count": 0,
        "liked_by": []
    }
}
我的疑问是,当用户更新他的信息时,它应该反映在所有地方,如发布者、评论者和喜欢者。我怎样才能做到这一点

我正在使用PHP


谢谢

Mongodb在更新级联上没有类似于sql
的概念,因此您必须在应用程序中执行此操作(每当您更新用户信息时,更新其他集合中与此用户相关的所有其他文档)


正如您可能已经猜到的,当有很多这样的文档时,这是非常低效的,这意味着您的模式是糟糕的。只要在您的文档中有一个
用户ID
,这将链接到您的用户收藏。

谢谢您提供的信息。我正在尝试使用PHP编码来实现它。如何通过执行单个查找查询来使用用户id获取用户信息?但是,我将用户id存储在posts集合文档中。