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

TypeError:db.collection er ikke en funktion, KAN IKKE FÅ

ukorrekt syntaks, du skal læse egenskaben for db.collection, men du kalder det. Eksempel:

db.collection['products']!!!


db.collection['text'].save({
        title: title,
        author: author,
        text: text
    }, callback);
};

module.exports.findBookByTitle = function (db, title, callback) {
    db.collection['text'].findOne({
        title: title
    }, function (err, doc) {
        if (err || !doc) callback(null);
        else callback(doc.text);
    });
};

module.exports.findProductsByName = function (db, name, callback) {
    db.collection['products'].findOne({

For eksempel

var object ={'some_value':'value','some_methid':function(){ return 'method result'}}

Du kan læse og indstille egenskaben 'some_value', for eksempel:

object['some_value'] // return 'value'
object.some_value // return 'value'

// TRIN 2

Ok, i dine metoder til database.js sender du db-variablen, men dette er ikke af db-forekomsten, det er mongoose-model, og du skal skrive sådan her:

module.exports.findBookByTitle = function (model, title, callback) {
    model.findOne({
        title: title
    }, function (err, doc) {
        if (err || !doc) callback(null);
        else callback(doc.text);
    });
};

module.exports.findProductsByName = function (model, name, callback) {
    model.findOne({
        name: name
    }, function (err, doc) {
        if (err || !doc) callback(null);
        else callback(doc.products);
    });
};


  1. Opretter du metoder til at opdatere og gemme dokumenter med mongoose?

  2. NodeJS + MongoDB:Henter data fra indsamling med findOne ()

  3. I en mongodb gruppe/kort kommando bestemme gruppens procentdel af en total

  4. Forbindelse til Redis (ElastiCache) fra ElasticBeanstalk EC2 mislykkes