我在我的一个项目中使用jessengers/laravel-mongodb
。我想使用原始mongodb
查询而不是jessengers库中的其他函数。当我使用raw()
编写一个简单查询以从数据库中获取两个字段值时,它将返回完整的文档。因此,我尝试使用where()
函数,光标仅显示请求的字段。
恐怕同一个查询为什么显示两个不同的结果...
以下是带有where()
函数的查询:
$articleDataArray = Article::where('art_xml_data.article.article_id', '=', $articleId)
->get(['art_status', 'art_file_path']);
此查询返回仅具有art_status和art_file_path值的游标。 (根据Neil Lunn的建议,我已对问题进行了编辑,以在此处包括结果。)
结果:
但是,以下使用raw()
编写的查询将返回匹配文档中的完整字段。
$articleDataArray = Article::raw()->find(
array ('art_xml_data.article.article_id' => $articleId),
array ('art_status' => 1, 'art_file_path' => 1)
)->toArray();