如何使用id mongodb在嵌入式文档数组中查找数据?

萨基·G

我将mongodb与nodejs结合使用,以在嵌入式文档中查找数据。奇怪的事实是查询在数据库中有效,但在实际的nodejs代码中无效。

这是我的数据对象:

{
"_id" : ObjectId("5c65866488a1c53464e46dc7"),
"cat_lang" : [
    {
        "_id" : ObjectId("5c65866488a1c53464e46dc8"),
        "en" : "temp",
        "it" : "temp"
    }
],
"providers" : [
    {
        "_id" : ObjectId("5c65866488a1c53464e46dc9"),
        "provider_name" : "temp0",
        "url" : "http://uber.com",

    },
    {
        "_id" : ObjectId("5c65866488a1c53464e46dca"),
        "provider_name" : "temp1",
        "url" : "http://uber2.com",
    }
]}

我已经在mongodb shell中尝试了这些查询,效果很好。

db.sideservices.findOne({"_id" : ObjectId("5c65866488a1c53464e46dc7")},{providers: {$elemMatch: {"_id" : ObjectId("5c65866488a1c53464e46dca")}}})

db.sideservices.find({"providers._id":ObjectId("5c65866488a1c53464e46dca")},{'providers.$':1})

但是,在nodejs中使用相同的函数时,它将返回整个对象,而不是具有给定id的文档。

this.db.collection('sideservices').find({'providers':{'$elemMatch':{'_id':ObjectId('5c65866488a1c53464e46dca')}}}).toArray((err,res) => {...})
阿什

你可以这样

this.collection("sideservices").find({
  "providers": { "$elemMatch": { "_id": ObjectId("5c65866488a1c53464e46dca") } }
})
.project({
  "providers": { "$elemMatch": { "_id": ObjectId("5c65866488a1c53464e46dca") } }
})
.toArray((err,res) => {...})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在嵌入式数组mongodb中查询嵌入式文档

如何使用mongoDB和spring数据在嵌入式文档中创建id

如何使用Mongoose将值推入MongoDB中嵌入式文档中的数组?

使用Presto查询MongoDB嵌入式/嵌套文档的数组

如何在MongoDB中查询数组中的单个嵌入式文档?

使用Java在MongoDB中的嵌入式文档中索引和搜索“数组”

如何在嵌入式文档中查找某个元素

与数组比较,如何在mongodb中检索部分嵌入式文档?

如何在 MongoDb 中查询嵌入式文档?

如何在mongodb中搜索嵌入式文档?

使用python(pymongo)在mongodb中编辑嵌入式文档

何时使用嵌入式文档MongoDB

在MongoDB中搜索嵌入式数组(使用Java)

如何在MongoDB中使用数组获取嵌入式文档(使用Mongoose)

如何将现有的子文档推送到MongoDB中的嵌入式数组中?

使用Spring Data MongoDB在MongoDB中查找包含嵌入式数组中元素的子列表的实体

如何从嵌入式文档数组将mongodb中的ISO日期转换为'yyyy-mm-dd hh:mm:ss'?

猫鼬:使用$ pull删除嵌入式文档数组中的值(MongoDB 3.4版本)

如何查询Mongodb的嵌入式数组

如何在mongoDB中的多对多关系中使用嵌入式文档结构?

使用C#在MongoDB集合中的嵌入式文档的子句查询中的投影

MongoDB,如何获取刚在嵌入式文档中创建的ObjectId?

如何在mongoDB中的嵌入式文档中提取特定元素

使用mgo对mongoDB中的嵌入式文档进行部分更新

在mongodb nodejs中更新双嵌套的嵌入式文档,而无需使用数字索引

使用Spring Boot的MongoDB嵌入式文档

使用JSON访问mongodb的嵌入式文档

使用 Java 管理 MongoDB 嵌入式文档

如何在数组中的嵌入式文档中指定/投影字段?