如何在MongoDB中一次进行两个查询


How can I make two queries at once in 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,并且C1C2是表,我将这样做:

INSERT INTO C1 VALUES (SELECT otherField, 'otherId' FROM C2 WHERE key = 'foo')

也许这是不可能的。事实上,我已经搜索了SO,似乎这不能在一个查询中完成。

谢谢

在使用MongoDB时,我认为业务逻辑应该进入应用程序级别而不是DB。因此,您选择然后创建对象并保存。

AFAIK,这是不可能的。

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