sql >> Databasteknik >  >> NoSQL >> MongoDB

TypeError:db.collection är inte en funktion, KAN INTE GET

inkorrekt syntax, du måste läsa egenskapen för db.collection, men du kallar det. Exempel:

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({

Till exempel

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

Du kan läsa och ställa in egenskapen 'some_value', till exempel:

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

// STEG 2

Ok, i dina metoder för database.js skickar du db-variabel, men det här är inte av db-instans, det är mongoose-modell, och du måste skriva så här:

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. Redis on Spark:Task kan inte serialiseras

  2. Effektivt sätt att söka med MongoDB och ASP.NET MVC

  3. Alamofire med lokalvärdanslutningsproblem

  4. PyMongo höjer [errno 49] kan inte tilldela begärd adress efter ett stort antal frågor