Nodejs Запрос MongoDb возвращает все, а не соответствующий документ - PullRequest
0 голосов
/ 04 августа 2020

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 Ответ

2 голосов
/ 04 августа 2020

Я думаю, ваш запрос должен быть первым, что вы передадите, а не вторым:

find(query, projection)

так:

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

см. Документы: https://docs.mongodb.com/realm/mongodb/actions/collection.find/

...