gpt4 book ai didi

node.js - insert 和 insertOne 不是函数并且 update 不创建 mongo ID

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:42 26 4
gpt4 key购买 nike

我以为我可以阅读这个解决方案,但我看不出我做错了什么。

这是我的模型:

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');

这是我尝试插入或 insertOne 的地方

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。

有什么想法吗?

最佳答案

您正在寻找的方法是 create :

inspectTable.create(
{
"property" : inspectRecord.property,
"room" : inspectRecord.room,
"item" : inspectRecord.item
}, ...

但是,您的 _id: Object 架构定义可能是错误的。只需将 _id 的任何定义保留在架构之外,它将使用默认的 ObjectId,这可能就是您想要的。

关于node.js - insert 和 insertOne 不是函数并且 update 不创建 mongo ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48871951/

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