Node.js insert和insertOne不是函数,update不创建mongo ID

Node.js insert和insertOne不是函数,update不创建mongo ID,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我原以为我能找到解决办法,但我看不出我做错了什么 这是我的模型: var mongoose = require('mongoose'); var Schema = mongoose.Schema; var inspectSchema = new Schema({ _id: Object, // Mongo ID property: String, // Property ID roo

我原以为我能找到解决办法,但我看不出我做错了什么

这是我的模型:

var mongoose      = require('mongoose');
var Schema        = mongoose.Schema;
var inspectSchema = new Schema({
    _id:                Object,     // Mongo ID
    property:           String,     // Property ID
    room:               String,     // The room Name
    item:               Array       // The Items text
});
module.exports = mongoose.model('inspectModel', inspectSchema, 'inspect');
这里是我尝试插入或插入的地方

var inspectModel = require('../../models/inspectModel');
var inspectTable = mongoose.model('inspectModel');

inspectTable.insert(
    {
        "property" : inspectRecord.property,
        "room" : inspectRecord.room,
        "item" : inspectRecord.item
    }, 
function (err, res) {  
    if (err) { return reject({err:true, err:"addInspect ERROR" + err})  }
    else {
        show("=====RESOLVE addInspect=====")
        return resolve();
    }
})
我试过了

inspectTable.insert
inspectModel.insert
inspectTable.insertOne
inspectModel.insertOne
无论我得到什么

TypeError: inspectTable.insert is not a function
我还尝试使用{upsert:true}进行更新,但随后mongo ID变为null


有什么想法吗?

您正在寻找的方法是:


但是,
\u id:Object
的模式定义可能是错误的。只需将
\u id
的任何定义保留在您的模式之外,它将使用默认的
ObjectId
,这很可能是您想要的。

您正在寻找的方法是:

但是,
\u id:Object
的模式定义可能是错误的。只需将
\u id
的任何定义保留在您的模式之外,它将使用默认的
ObjectId
,这很可能是您想要的。

您可以尝试此方法

var insert_table = new inspectTable(
    {
        "property" : inspectRecord.property,
        "room" : inspectRecord.room,
        "item" : inspectRecord.item
    });
insert_table.save(function (err, res) {  
       if (err) { return reject({err:true, err:"addInspect ERROR" + err})  }
       else {
           show("=====RESOLVE addInspect=====")
           return resolve();
       }
  });
你可以试试这个

var insert_table = new inspectTable(
    {
        "property" : inspectRecord.property,
        "room" : inspectRecord.room,
        "item" : inspectRecord.item
    });
insert_table.save(function (err, res) {  
       if (err) { return reject({err:true, err:"addInspect ERROR" + err})  }
       else {
           show("=====RESOLVE addInspect=====")
           return resolve();
       }
  });

是的,Johnny,ObjectId和Object不一样:-D不明白为什么它不会生成mongo ID,但现在我知道了。是的,Johnny,ObjectId和Object不一样:-D不明白为什么它不会生成mongo ID,但现在我知道了。