我需要找出如何(如果可能)“增加”混合模式类型。我想使用无模式方法,但是我需要根据我可以提供的属性插入或更新行。
这可能吗?
我现在有:
模式定义:
var schema = new mongoose.Schema
({
any: mongoose.Schema.Types.Mixed
},
{
strict: false
});
当我这样做时:
var modelo = new Modelo();
modelo.markModified('extid');
var outcome = modelo.update(
{extid: result.extid},
result,
{upsert: true},
function (err, raw) {
if (!err) {
console.log("persisted");
} else {
console.log(err);
}
});
结果是完整的对象,我想根据是否存在“ extid”来进行更新/插入。
我现在得到的例外是:
oldCb(error, result ? result.result : { ok: 0, n: 0, nModified: 0 });
^
TypeError: oldCb is not a function
我直截了当地问,我感觉不可能将这种方法与“混合类型”架构一起使用。这是基于知道我的模型不包含'update(..)'lambda函数的定义。只是'save(..)'-起作用,但是只是在没有我需要的逻辑的情况下将数据刷新到表中。
感谢您的回答!
据我目前的了解,这是不可能的。我已经克服了这一问题,仅使用'mongodb'npm软件包而不是按预期工作的'mongoose'。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句