Node.js MongoDb:如何使用官方驱动程序进行查询以在nodejs中找到合适的数据

Node.js MongoDb:如何使用官方驱动程序进行查询以在nodejs中找到合适的数据,node.js,mongodb,Node.js,Mongodb,我是mongodb的新手 我插入了一些数据,如下所示: #1 { "_id": ObjectId("566930a12e9952aef88b4568"), "a_site": { "name": "amazon", "url": "amazon.com", "master": "John" } } #2 { "_id": ObjectId("5669307b2e9952aef88b4567"), "a_sit

我是mongodb的新手

我插入了一些数据,如下所示:

#1
{
    "_id": ObjectId("566930a12e9952aef88b4568"),
    "a_site": {
        "name": "amazon",
        "url": "amazon.com",
        "master": "John"
    }
}
#2
{
    "_id": ObjectId("5669307b2e9952aef88b4567"),
    "a_site": {
        "name": "google",
        "url": "google.com",
        "master": "Paul"
    }
}
我想通过查询只使用名称获取“google.com”(#2 a_site>url)

var cloud_service = db.collection('cloud_service');
cloud_service.find({"a_site":{"name":"google"}});

但这一查询不起作用。请帮助我。

您应该这样写查询:

cloud_service.find({"a_site.name":"google"}});

这就是所谓的符号。

作为您答案的一部分,我还将解释为什么
{“a_site”:{“name”:“google”}
不起作用。MongoDB试图匹配整个子文档
a_site
,由于查询中的子文档包含的字段较少,因此比较失败。