MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

TypeError:db.collection не е функция, НЕ МОЖЕ ДА ВЗЕМЕ

неправилен синтаксис, трябва да прочетете свойството на db.collection, но вие го извиквате. Пример:

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

Например

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

Можете да прочетете и зададете свойството 'some_value', например:

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

// СТЪПКА 2

Добре, във вашите методи на database.js предавате променлива db, но това не е от екземпляр на db, това е модел на mongoose и трябва да пишете така:

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
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. как да актуализирате вложен обект на mongoose документ само за предоставени ключове

  2. Изброяване на потребители за определени DB с PyMongo

  3. mongoose персонализирано валидиране с помощта на 2 полета

  4. Как да конвертирате комплект реплики на MongoDB в самостоятелен сървър

  5. Защита на базата данни 101:Разбиране на привилегиите за достъп до база данни