-1
votes

Comment vérifier les valeurs d'entrée données disponibles ou non? dans les objets

Voici ce que j'obtiens de console.log (objets) code>: xxx pré>

J'ai une tableaux d'entrée, ex: laisser basableids = ["0 "," 1 "," 10 "] code>. Je dois vérifier gallary.profilepic code> si donné les valeurs d'entrée disponibles ou non? Supposons que non disponible signifie que je dois appuyer sur une matrice et renvoyer les résultats. P>

My Code: P>

["0", "10"]


7 commentaires

N'utilisez pas de blockQuotes pour le style. Utilisez BlockQuotes uniquement lorsque vous citez quelque chose.


Clan vous élaborerez un peu plus? Je ne comprends pas la relation entre UPID et la liste des étudiants.


Veuillez lire via le centre d'aide , en particulier Comment puis-je Demandez une bonne question? Votre meilleur pari ici est de faire vos recherches, Rechercher pour des sujets connexes pour ainsi dire. . si vous êtes coincé et que vous ne pouvez pas vous détendre après avoir fait plus de recherches et de recherches, postez un exemple de reproductible minimal de votre tentative et dites spécifiquement où vous êtes coincé. Les gens seront heureux d'aider.


Qu'entendez-vous par non disponible?


@ Oscar Calderon, Uppids égaux à RégulierStudent valeurs


@Prasanna tout le monde a basé leurs réponses sur votre exemple original. S'il vous plaît ne pas - deux mois plus tard - Modifiez votre question, puis faites des modifications à toutes les réponses à correspondre. Cela n'a aucun sens. S'il vous plaît roulez votre question Modifier.


Mais cela ne devrait pas affecter votre façon de mettre en œuvre la réponse.


3 Réponses :


0
votes

Filtrez votre UPIDS CODE> Vérification du tableau Quels éléments de celui-ci ne sont pas inclus dans le RégulierStudent code> Prop de votre membres code> Données:

P>

let UPIDs = ["0","1","10"];
const data = [{
    "_id" : "5bb20d7556db6915846da55f",
    "members" : {
        "regularStudent" : [
            "1",
            "2"
        ]

    }
},
{
    "_id" : "5bb20d7556db6915846da55f",
    "members" : {
        "regularStudent" : [
            "3",
            "4"
        ]

    }
}];

const regularStudents = data.map(d => d.members.regularStudent).flat();
console.log(UPIDs.filter(a => !regularStudents.includes(a)));


1 commentaires

Comment obtenir des valeurs data , car vous utilisez data tableau, mais je reçois des objets



0
votes

Vous pouvez rassembler un tableau de tous les identifiants ensemble (j'ai utilisé Réduire code> dans mon exemple), puis Filtre code> sur tous ces éléments de UPID qui n'apparaissent pas dans ce tableau.

P >

let UPIDs = ['0', '1', '10'];

db.Groups.find().forEach(function(objects){
  const ids = objects.reduce((acc, c) => acc.concat(c.members.regularStudent), []);
  const out = UPIDs.filter(el => !ids.includes(el));  
  console.log(out);
});


1 commentaires

Objets - Comme dans Console.log (Objets) - est un tableau d'objets que je suppose ou que vous ne recevriez pas cette sortie.



0
votes

Je voudrais d'abord obtenir toutes les valeurs dans DB correspondant aux données que vous souhaitez entrer (sinon, il chargerait toutes vos entrées de collection), puis regardez les chaînes manquantes. Enfin pousser une nouvelle entrée si nécessaire.

const UPIDs = ['0', '1', '10'];

// Thx to @Andy
const entries = [{"_id":"5bb20d7556db6915846da55f","members":{"regularStudent":['1', '2']}}];

/*
const entries = await db.Groups.find({
  'members.regularStudent': {
     $in: UPIDs,
  },
});
*/

// Get the strings that are not in the DB
const missing = UPIDs.filter(x => !entries.some(y => y.members.regularStudent.includes(x)));

// Push the missing str in DB
if (missing.length) {
  console.log('Add new data for values', missing);
}


2 commentaires

J'ai ajouté un exemple dans l'extrait


Parce que je ne peux pas effectuer la demande de MongoDB dans Stackoverflow ... c'est pour l'extrait de travailler comme exemple. Tout ce que vous voyez dans Stackoverflow, il n'a jamais été fait être copié / collé. Vous devez comprendre ce qui se passe et l'adapter à votre cas réel