Javascript 使用Mongoose运行服务器脚本时获取类型错误:未知编码:1

Javascript 使用Mongoose运行服务器脚本时获取类型错误:未知编码:1,javascript,node.js,mongodb,mongoose,mean-stack,Javascript,Node.js,Mongodb,Mongoose,Mean Stack,我正在运行以下代码,用Mongoose将水果名称插入数据库。它确实插入了对象,但随后抛出类型错误:未知编码:1,并退出脚本。我试着更新Mongoose和Mongo,但没有解决问题 var mongoose = require('mongoose'); var assert = require('assert'); var Fruits = require('./models/fruits-1'); var url = 'mongodb://localhost:27017/confusion';

我正在运行以下代码,用Mongoose将水果名称插入数据库。它确实插入了对象,但随后抛出类型错误:未知编码:1,并退出脚本。我试着更新Mongoose和Mongo,但没有解决问题

var mongoose = require('mongoose');
var assert = require('assert');
var Fruits = require('./models/fruits-1');
var url = 'mongodb://localhost:27017/confusion';
mongoose.connect(url);
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function(){
    Fruits.create(
        {
            name: 'Apple',
            description: "It's delicious."
        }, function(err, fruit){
            if(err){
                console.log(err);
            }
            else{
                console.log(fruit);
            }
    });
});

我有一个坏的工作解决方案,请删除console.log(水果)

我现在在Fedora25上也遇到了同样的问题,代码也一样。 今天,它在Ubuntu 14.04上正常工作


他们都在v6上使用Nvm。

真正的解决方案是将bson更新到1.0.3-请参阅(感谢Blaze Sahlzen)。

您的
服务器-2.js
文件的第24行有什么内容?错误似乎是从那里产生的。@BlazeSahlzen抱歉,我上面发布的代码中只有21行。很可能这与Mongoose有关。如果它起作用,有任何线索说明为什么它不允许我们记录刚刚输入的对象吗?在我看来,这是一个bug。这可能是Blaze Sahlzen在你的问题评论中提到的问题。我实际上使用的是bson 1.0.2,你也可能使用。