如何使用PHP在查询生成器中加入MongoDB集合
如何使用PHP在查询生成器中执行MongoDB连接等效。 是否有连接集合的方法。 我认为如果我们将集合col1中的“\u id”的值放到集合col2中的另一个“model\u id”中 “col1集合是普通文档,col2集合是嵌入文档” 示例集合:- col1:如何使用PHP在查询生成器中加入MongoDB集合,php,mongodb,query-builder,Php,Mongodb,Query Builder,如何使用PHP在查询生成器中执行MongoDB连接等效。 是否有连接集合的方法。 我认为如果我们将集合col1中的“\u id”的值放到集合col2中的另一个“model\u id”中 “col1集合是普通文档,col2集合是嵌入文档” 示例集合:- col1: { "_id" : 1, "model_status" : "A", } { "_id" : 1, "infodetails" : [ { "info_name
{
"_id" : 1,
"model_status" : "A",
}
{
"_id" : 1,
"infodetails" : [
{
"info_name" : "test",
}
],
"test_model" : [
{
"model_id" : "2",
"model_name" : "B",
},
{
"model_id" : "3",
"model_name" : "C",
},
{
"model_id" : "1",
"model_name" : "A",
}
]
}
col2:
{
"_id" : 1,
"model_status" : "A",
}
{
"_id" : 1,
"infodetails" : [
{
"info_name" : "test",
}
],
"test_model" : [
{
"model_id" : "2",
"model_name" : "B",
},
{
"model_id" : "3",
"model_name" : "C",
},
{
"model_id" : "1",
"model_name" : "A",
}
]
}
解决我的上述问题,这将完美地工作
======
Query:-
======
require_once(MONGODBPATH);
$mdb = mongoConnection::getMongoConnection();
$col2 = $mdb->selectDB("DB")->selectCollection("col2");
$ops = array(
array(
'$project' => array(
"_id" => 1,
"test_model" => 1,
)
),
array('$unwind' => '$test_model'),
array(
'$lookup' => array(
'from'=>'col1',
'localField'=> "test_model.model_id",
'foreignField' => "_id",
'as'=> "result_foreignField"
)
),
);
$results = $col2->aggregate($ops);
=========
Output:-
=========
Array
(
[waitedMS] => 0
[result] => Array
(
[0] => Array
(
[_id] => 1
[test_model] => Array
(
[model_id] => 1
[model_name] => A
)
[result_foreignField] => Array
(
[0] => Array
(
[_id] => 1
[model_status] => A
)
)
)
)
[ok] => 1
)
任何人都知道上述问题的解决方案。