草庐IT

lookup_fields

全部标签

php - 学说 2 ODM : Querying ID field with MongoRegex with LIKE

我有一个更大的项目,在Symfony上下文中使用Doctrine2ODM。给定一个简单的ODM实体(XML定义):我想在_id字段上使用MongoRegex表达式查询App文档。现在,我知道“string与MongoId”问题-我们所有的ID都是正确的字符串。当我尝试通过MongoDBshell执行此操作时(使用Robomongo作为GUI);一切都很好,因为这个表达式成功返回了我正在搜索的对象:App.find({'_id':/^ad.*$/i})但是在PHP上下文中它是不同的。Doctrine2ODM中有一种特殊的逻辑,它对待标识符字段上的equals()搜索不同于普通的equal

mongodb - 蒙戈 : Find docs where field is a prefix of a string literal without using $where

我想找到给定字段是输入值前缀的所有文档。在SQL中它看起来像这样:...whereinput_valuelikeconcat(field,'%')我想在Mongo2.4.8中执行此操作(最好是)不使用$where。使用$where很容易,但我不能使用$where因为我想使用管道所以我可以使用$project来派生一些领域。和apparently您不能在$match管道中使用$where。据我所知,您不能在普通find()projection中使用管道$project-ion运算符-啊。 最佳答案 一种方法是构造一个$regex图案。

mongodb - $lookup 其中 id 字段是不同类型的

我有2个集合:交易和账户。我需要将账户加入交易,以便我可以在Accounts.acctType字段上分组。问题是Transactions.accountId是“字符串”类型,而Accounts._id是“Int32”类型。有没有办法在不更改Transactions.accountId类型的情况下解决这个问题?当前查找代码:$lookup:{from:'accounts',localField:accountId,foreignField:'_id',as:'accountData'}我需要什么:$lookup:{from:'accounts',localField:Number(acc

mongodb - 过滤 $lookup 结果

我有2个集合(带有示例文档):报告{id:"R1",type:"xyz",}报告文件{id:"F1",reportid:"R1",time:ISODate("2016-06-13T14:20:25.812Z")},{id:"F14",reportid:"R1",time:ISODate("2016-06-15T09:20:29.809Z")}如您所见,一个报告可能有多个报告文件。我想执行一个查询,匹配一个报告id,按原样返返回告文档,加上一个附加键存储作为子文档的reportfile最近的time(如果没有reportid会更好,因为它会是多余的),例如{id:"R1",type:"x

Mongodb $lookup 将集合合并成一个新集合

首先,我是mongodb的新手,所以我的问题可能很愚蠢。我有两个集合,我使用$lookup合并了它们db.information.aggregate([{$lookup:{from:"extra_info",localField:"identification",foreignField:"identification",as:"extra_info"}}])作为输出,我得到了我想要的“集合”,但它没有存储在db.information集合。有什么提示可以实现吗? 最佳答案 使用$out在聚合管道中将聚合数据保存到新集合中:db.i

PHP MongoDB `fields` 参数不工作

根据php文档http://php.net/manual/en/mongocollection.findone.php,以下查询应仅返回文档的emails字段。然而它把它们全部归还了!我发现无论我在fields数组中放入什么,它都会返回所有字段。$row=$Entities->findOne(["emails.email"=>$address],array("emails"=>1));知道哪里出了问题吗?我在Ubuntu16.04上使用php7。来自composer.json的信息"packages":[{"name":"mongodb/mongodb","version":"1.0.

MongoDB : Find duplicate when field type is not the same

即使字段类型不同,我如何检测重复?{id:1,price:5}{id:2,price:"6"}{id:3,price:"5"}所以重复是{id:1,price:5}{id:3,price:"5"} 最佳答案 您可以使用$substr将索引从0到-1(字符串的其余部分)转换为字符串。:db.duplicates.aggregate([{"$project":{id:1,price:{$substr:["$price",0,-1]}}},{"$group":{"_id":"$price","count":{"$sum":1},"item

c# - mongodb $lookup + 正则表达式

Mongo用户,我有一个问题,非常感谢你的帮助。我有三个mongo集合,它们的行为类似于关系数据库表:contacts_collecion:{"_id":ObjectId("..."),"cid":"1","email":"a1@a.aaa"}{"_id":ObjectId("..."),"cid":"2","email":"a2@a.aaa"}{"_id":ObjectId("..."),"cid":"3","email":"a3@a.aaa"}groups_collection:{"_id":ObjectId("..."),"gid":"1","group_name":"group

javascript - 来自多个集合的 $lookup 和嵌套输出

我有多个集合,我使用了单独的集合和外键方法,我想加入这个集合来构建一个嵌套的集合。这是我的收藏模式:constSurveySchema=newSchema({_id:{type:Schema.ObjectId,auto:true},name:String,enabled:{type:Boolean,Default:true},created_date:{type:Date,Default:Date.now},company:{type:Schema.Types.ObjectId,ref:'Company'},});constGroupSchema=newSchema({_id:{typ

javascript - 如何限制从 $lookup 操作返回的字段被添加到 Mongo View

在我的MongoDB/Node后端设置中,我通过Studio3T使用管道运算符的组合来创建特定View。该管道中的一个步骤涉及使用$lookup运算符从第二个集合中提取相关数据。此代码如下所示://Stage3{$lookup:{"from":"clients","localField":"client.id","foreignField":"_id","as":"client"}}为了将其作为对象而不是数组放入View中,我使用了$unwind运算符,如下所示://Stage4{$unwind:{path:"$client"}}现在这行得通了,因为来自其他集合的相应记录的信息会准确地