Orm Node.js中的Mongodb/Mongoose。按嵌套文档的id查找
由于某些原因,当我按嵌套文档的id搜索时,找不到文档。我可以很容易地执行其他发现,因此这两项工作:Orm Node.js中的Mongodb/Mongoose。按嵌套文档的id查找,orm,mongodb,node.js,express,mongoose,Orm,Mongodb,Node.js,Express,Mongoose,由于某些原因,当我按嵌套文档的id搜索时,找不到文档。我可以很容易地执行其他发现,因此这两项工作: User.findOne({"_id" : some_id}, function(err,user){} User.findOne({"arrayOfNestedDocs.value":someValue}, function(err,user){} 但按嵌套文档的id查找不起作用: User.findOne({"arrayOfNestedDocs._id" : some_id}, functi
User.findOne({"_id" : some_id}, function(err,user){}
User.findOne({"arrayOfNestedDocs.value":someValue}, function(err,user){}
但按嵌套文档的id查找不起作用:
User.findOne({"arrayOfNestedDocs._id" : some_id}, function(err,user){}
我可以在mongo shell中执行搜索,但不能通过mongoose。任何想法都会有帮助 如果您试图查找嵌入式文档,则语法为:
User.findOne({_id: id}, function(err, user) {
var embeddedDoc = user.embeddedDocs.id('embeddedDocId');
});
我在中添加了它作为一个问题,您的嵌套文档是否有一个_id属性,并且是ObjectId类型的某个_id?是的,它们有一个_id,因此我可以在shell中执行搜索。我想这可能是
某个_id
类型的问题。应该是mongoId,许多人在不同的驾驶人中面临相同的问题。例如,它们传递的是字符串而不是mongoid。否则它听起来像个虫子。另外,你可以给我们看一下你的文档结构吗?我开始认为这是一个bug,搜索将在mongoose的旧版本中工作,但不是1.4。我相信结构是好的。我想我是想看看现在是否有另外一种方法被推荐来执行这些搜索。但是如果顶层文档id未知,那么我们只能使用embeddedDocId怎么办。