提问者:小点点

Nodejs MongoDb查询返回所有内容,而不是匹配文档


Json结构:

 {"address": {"building": "1007", "coord": [-73.856077, 40.848447], "street": "Morris Park Ave", "zipcode": "10462"}, "borough": "Bronx", "cuisine": "Bakery", "grades": [{"date": {"$date": 1393804800000}, "grade": "A", "score": 2}, {"date": {"$date": 1378857600000}, "grade": "A", "score": 6}, {"date": {"$date": 1358985600000}, "grade": "A", "score": 10}, {"date": {"$date": 1322006400000}, "grade": "A", "score": 9}, {"date": {"$date": 1299715200000}, "grade": "B", "score": 14}], "name": "Morris Park Bake Shop", "restaurant_id": "30075445"},...



const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
// Connection URL
const url = 'mongodb://localhost:27017'; 
// Database Name
const dbName = 'restaurant';
MongoClient.connect(url, function(err, client) {
    const db = client.db(dbName);
    const collection = db.collection('restaurants');
    collection.find({}, {"restaurant_id": "40386837"}).toArray(function(err,docs){
        console.log(docs)    
    });
  });

输出:

只有一条记录与条件“restaurant_id”匹配:“40386837”,但我得到了所有记录。


共1个答案

匿名用户

我认为您的查询应该是您通过的第一件事,而不是第二件事:

find(query, projection)

所以:

collection.find({"restaurant_id": "40386837"})

参见docs:https://docs.mongodb.com/realm/mongodb/actions/collection.find/