gpt4 book ai didi

javascript - 自动增量不会返回 mongoose 中的 id

转载 作者:行者123 更新时间:2023-12-03 11:12:11 25 4
gpt4 key购买 nike

我想在添加新文档时增加 id。但是当我使用以下代码时, fieldnum 和 _id 都不会自动递增。而且我找不到 fieldnum 。我知道这是一个蹩脚的问题,但有人可以帮助我吗?

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com