[英]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.