簡體   English   中英

貓鼬隨機不起作用?

[英]mongoose-random not working?

我正在使用mongoose-random軟件包從MongoDB數據庫中獲取隨機項。 這是我的代碼:

// Bring Mongoose into the app
var mongoose = require( 'mongoose' );
var random = require('mongoose-random');

var DBNAME = 'test';
var COLLNAME = 'koleksigj';
var DBURI = 'mongodb://localhost/' + DBNAME;

// Connect to DB
mongoose.connect(DBURI);

// Create the schema
var quizSchema = new mongoose.Schema({ title: String, body: String });
quizSchema.plugin(random);

// Make the model
var Quiz = mongoose.model('Quiz', quizSchema);

// Make query
Quiz.findRandom(function (err, quiz) {
  console.log(quiz);
})

// CONNECTION EVENTS
// When successfully connected
mongoose.connection.on('connected', function () {
  console.log('Mongoose default connection open to ' + dbURI);
});

// If the connection throws an error
mongoose.connection.on('error',function (err) {
  console.log('Mongoose default connection error: ' + err);
});

// When the connection is disconnected
mongoose.connection.on('disconnected', function () {
  console.log('Mongoose default connection disconnected');
});

// If the Node process ends, close the Mongoose connection
process.on('SIGINT', function() {
  mongoose.connection.close(function () {
    console.log('Mongoose default connection disconnected through app termination');
    process.exit(0);
  });
});

看來我的mongoose-random用法類似於此處的文檔。

但是我收到此錯誤消息:

hfz:mong-final Hfz$ node all.js

/Users/Hfz/Dev/nodejs/mong-euro/mong-final/all.js:23
Quiz.findRandom(function (err, quiz) {
     ^
TypeError: Object function model(doc, fields, skipId) {
    if (!(this instanceof model))
      return new model(doc, fields, skipId);
    Model.call(this, doc, fields, skipId);
  } has no method 'findRandom'
    at Object.<anonymous> (/Users/Hfz/Dev/nodejs/mong-euro/mong-final/all.js:23:6)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:902:3

如果您查看Git存儲庫中的示例,它與NPM上的示例略有不同。

更改將插件添加到quizSchema的行,以調用 random()而不是僅將其傳入:

quizSchema.plugin(random());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM