每当添加新文档时,我都想增加ID。但是当我使用以下代码时,fieldnum和_id都不是自动递增的,而且我找不到fieldnum。我知道这是一个la脚的问题,但是有人可以帮我吗?
var mongoose = require('mongoose'),
Schema = mongoose.Schema,
pureautoinc = require('mongoose-pureautoinc');
var connection = mongoose.createConnection("mongodb://localhost/myDatabase");
pureautoinc.init(connection);
var bookSchema = new Schema({
title: String,
genre: String,
publishDate: Date
});
bookSchema.plugin(pureautoinc.plugin,{model : 'Book',field :'fieldnum'});
var Book = connection.model('Book',bookSchema);
var book1 = new Book({title : "goutham", genre : "comedy", publishDate : new Date()});
book1.save();
var book2 = new Book({title : "goutham1", genre : "comedy", publishDate : new Date()});
book2.save();
console.log(book1,book2);
最佳答案
它正在创建fieldnum
特技,并且还会对其进行自动递增。如果通过mongodb
控制台调用db.books.find()
来检查已保存的对象,则会看到该属性已创建。
您的代码中的问题是您没有将任何回调传递给save
调用,因此您要在console.log(book1, book2)
调用之前返回它们。查看持久化对象应该做的事情:
var logIfSaved = function (error, doc) {
if (error) throw Error(error);
console.log(doc);
};
var book1 = new Book({title : "goutham", genre : "comedy", publishDate : new Date()});
book1.save(logIfSaved);
var book2 = new Book({title : "goutham1", genre : "comedy", publishDate : new Date()});
book2.save(logIfSaved);
现在,将回调传递给您的
save
调用,您将仅在对象保存后记录它们。关于javascript - 自动递增不会以 Mongoose 返回ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27525225/