MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Le query Mongoose JS ritornano tutte null o vuote

mongoose normalizzerà il nome della raccolta in minuscolo e pluralizzato. Pertanto, dovresti inserire in db.samplecollections invece di db.sampleCollection . (Nota la differenza della lettera c e s qui).

per testarlo:

s = new sampleCollection({sampleField: 'hello'}); // creates a new record
s.save(function(err) { 
  sampleCollection.find({ } , function (err, items) {
      console.log(items); 
      console.log(err); 
      items.forEach( function(item) {
          console.log(item); 
      });
  });
});

e stampa correttamente:

[ { sampleField: 'hello', _id: 4f28ab4cc9e58f710a000001 } ]
null
{ sampleField: 'hello', _id: 4f28ab4cc9e58f710a000001 }

poi in mongo shell:

> show collections
samplecollections          //<<<<<<<<<<<<<< It's all lowercase and pluralized
system.indexes

> db.samplecollections.find()
{ "sampleField" : "hello", "_id" : ObjectId("4f28ab4cc9e58f710a000001") }