как выполнить поиск с помощью MongoClient, используя данные Node.js

#node.js #mongodb

Вопрос:

Я ищу несколько данных, но хочу, чтобы они не появлялись.

Пример:

 const info = [{
    idn: 1,
    parent: 1
}, {
    idn: 2,
    parent: 2
}, {
    idn: 3,
    parent: 3
}]
 

что мне нужно, так это:

 const info = [{
    idn: 2,
    parent: 2
}, {
    idn: 3,
    parent: 3
}]
 

это мой код для поиска

 const MongoClient = require("mongodb").Mongoclient;
const URI = "mongodb://localhost:20017"

MongoClient.connect(URI, {
    useNewUrlParser: true,
    useUnifiedTopology: true
}, async (err, client) => {
    if (err) {
        throw err;
    }
    const data = await client.db("baseGeneric").collection("genericInfo").find({}).toArray();
    console.log(data)
})
 

Ответ №1:

Вы можете использовать $ne

 db.collection.find({
  idn: {
    $ne: 1
  }
})
 

Рабочая игровая площадка Монго

Есть несколько способов, которыми вы можете это сделать, которые вы можете использовать aggregation() find() . Предположим, вы решите, что некоторые идентификаторы не могут участвовать при извлечении, вы можете использовать $nin

Ответ №2:

да, эта функция, но с _id не сработала

 const recipes = await client
            .db(DBU)
            .collection("data_travel")
            .find({"vdn":{$ne:data.vdn},"skill":{$ne:data.skill}}).toArray();