sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose JS-frågor kommer alla tillbaka null eller tom

mongoose kommer att normalisera samlingens namn till gemener och pluraliserad. Därför bör du infoga i db.samplecollections istället för db.sampleCollection . (Lägg märke till skillnaden mellan bokstaven c och s här).

för att testa det:

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); 
      });
  });
});

och den skrivs ut korrekt:

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

sedan i mongo-skal:

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

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


  1. $cond operatör java-kod

  2. MongoEngine:EmbeddedDocument v/s. Referensfält

  3. MongoDB-anslutningsfel i Digital Ocean droppe

  4. Frågor i MongoDB