我是mongo的新手。
我试图得到一个文档的子文档,这是我的文档:
{
"_id" : ObjectId("5900ab35c720b210c000032c"),
"name" : "B 1",
"providers" : [
{
"id" : ObjectId("59030550c720b211dc005e9e"),
"name" : "F 1"
},
{
"id" : ObjectId("59030577c720b211dc005e9f"),
"name" : "F 2"
}
]
}
我想得到这个子文档:
{
"id" : ObjectId("59030577c720b211dc005e9f"),
"name" : "F 2"
}
我想我需要使用这些类:http://php.net/manual/en/mongocollection.aggregate.php但我没有将它用于我的manager类实例:http://php.net/manual/en/class.mongodb-driver-manager.php.
PHP手册没有说明如何在新驱动程序中使用它。
有人能帮帮我吗?
谢谢你,祝你愉快!
您不必为任务使用聚合。
可以使用常规查询来选择嵌入数组中的第一个匹配子文档。
你可以用几种方法来解决这个问题。
位置投影
$filter = ['_id' => new MongoDB\BSON\ObjectID("5900ab35c720b210c000032c"), 'providers.id' => new MongoDB\BSON\ObjectID("59030577c720b211dc005e9f") ];
$options = ['projection' => ['_id' => 0, 'providers.$' => 1],];
$elemMatch投影
$filter = ['_id' => new MongoDB\BSON\ObjectID("5900ab35c720b210c000032c")];
$options = [
'projection' => ['_id' => 0, 'providers' => ['$elemMatch'=> ['id' => new MongoDB\BSON\ObjectID("59030577c720b211dc005e9f")]]],
];
您将使用executeQuery运行常规查询。
$query = new \MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery(dbName.collectionName, $query);
我开始在我的应用程序中使用MongoDB。我正在使用Robo3T学习和测试查询,现在,我正在将查询翻译成C#。 我对蒙古机器人3T的质疑 在Robo 3T上运行上述脚本,其检索到以下结果: 现在,我试图在我的. NET MVC项目上重现这个结果,我面临着将子字符串转换为C#的困难。 C#代码 这种方式很好,但是,它是按整个字符串日期分组的,我想按短字符串日期分组,如:“2019-03-01”。 我
有人能给我举个例子,说明如何使用PHPs新驱动程序计算MongoDB集合中的文档数吗(http://php.net/manual/en/set.mongodb.php) 所有示例似乎都在使用旧的驱动程序或库!
我想在Mongo 3.2中执行聚合,如下所述,但在Java中: https://docs.mongodb.org/master/reference/operator/aggregation/lookup/#pipe._S_lookup 目前,我的java查询对象非常简单: 除了按employeId进行筛选外,我还想加入公司的此集合(其中employee.company\u id=company.i
我有一个包含联系人的集合,每个联系人文档都有和属性。 现在我想使用Java和版本3.2中的MongoDb Java驱动程序查询数据库。 谢谢。
使用新的mongoDB驱动程序:https://github.com/mongodb/mongo-php-driver和新的php库:https://github.com/mongodb/mongo-php-library我得到了“授权失败”,试图执行一个简单的查找()查询。 在下面的代码中,连接字符串遵循模式mongoDB://user:password@mongoinstance: port/
我想使用PHP和MongoDb,但我不能为PHP配置新的MongoDb驱动程序。我已经测试了老MongoDb驱动程序(php_mongo.dll)它的工作正常。 我为配置新的MongoDb驱动程序所做的步骤: 1] 下载了最新的mongodb驱动程序(php_mongodb-1.3.1-7.1-ts-vc14-x64.zip)。 2] 复制了php_mongodb。两个目录下的dll,以确保安全: