sql >> Databáze >  >> NoSQL >> MongoDB

jak najít konkrétní řetězec v páru klíč-hodnota v mongodb

Použití regulárního výrazu s mongodb

Toto fungovalo pro mě

db.collection.find({"produkt":/laptop/})

Aktualizovaná odpověď

Pokud chcete použít proměnné, zkuste něco takového:

var abc = "laptop";
// other stuff
userdetails.find({"product":new RegExp(abc)}).toArray(function(err,result){
  if (err) console.log ("error: "+err);
  else 
  {    
    // if you want the length
    console.log(result.length);
    // if you actually want to see the results
    for (var i = 0; i < result.length; i++)
    {
      console.log(result[i]);
    }
  }
}); 

Ještě jednou aktualizováno

var abc = "laptop";
// other stuff

// note this is case sensitive.  if abc = "Laptop", it will not find it
// to make it case insensitive, you'll need to edit the RegExp constructor
// to this: new RegExp("^"+abc+",|, "+abc+"(?!\w)", "i")

userdetails.find({"product":new RegExp("^"+abc+",|, "+abc+"(?!\w)")}).toArray(function(err,result){
  if (err) console.log ("error: "+err);
  else 
  {    
    // if you want the length
    console.log(result.length);
    // if you actually want to see the results
    for (var i = 0; i < result.length; i++)
    {
      console.log(result[i]);
    }
  }
}); 


  1. Pokud dělník celeru těžce zemře, bude se práce opakovat?

  2. Instalace Redis na CentOS 8

  3. Jak programově předem rozdělit Shard Key založený na GUID pomocí MongoDB

  4. Existuje způsob, jak získat upravený IDS z hromadných operací mongodb pomocí mongoose?