Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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和两个集合: id1 = "otherId", id2="foo" C1: { key: "bob", field: "someId" } C2: { key: "foo", otherField: "bar" }, { key: "foo", otherField: "bob" } 我想知道的是,对于C2集合中的key=foo的每个条目,是否有任何方法可以在C1中插入一个新文档,但我想在一个查询和PHP中完成。如果我使用的是SQL,C1和C2是表,我会这样做: INSERT

我有两个ID和两个集合:

id1 = "otherId", id2="foo"

C1:
{ key: "bob", field: "someId" }

C2:
{ key: "foo", otherField: "bar" }, 
{ key: "foo", otherField: "bob" }
我想知道的是,对于
C2
集合中的
key=foo
的每个条目,是否有任何方法可以在
C1
中插入一个新文档,但我想在一个查询和PHP中完成。如果我使用的是SQL,
C1
C2
是表,我会这样做:

INSERT INTO C1 VALUES (SELECT otherField, 'otherId' FROM C2 WHERE key = 'foo')
也许这是不可能的。事实上,我已经搜索了这么多,似乎这不能在一个查询中完成


感谢使用MongoDB,我认为业务逻辑应该进入应用程序级别,而不是数据库。因此,您可以选择然后创建对象并保存

哎呀,这是不可能的


由于第二个表的值取决于第一个表的值,因此如果可以从应用程序级别在事务中创建对象和,然后将它们保存在DB中,那就太好了。这正是我在项目中所做的。我认为这是您从SQL切换到NoSQL时必须进行的更改。

我知道这并不能回答您的问题,但_id必须是唯一的,因此C2不可能像您一样实现described@ClintonBosch对不起,你是对的,正如我写的,这个问题一定会引起误解。事实上,我不关心
\u id
mongo值,我已经更改了名称。问题是,在构建要保存的文档之前,我需要查询数据库,以了解我有哪些
其他字段
值。看来我要问两个问题。