Mongoose 4.1混合类型架构升级
我需要找出如何(如果可能的话)“插入”混合模式类型。 我想使用无模式的方法,但我需要根据我可以提供的属性插入或更新行 这可能吗 现在我有: 模式定义:Mongoose 4.1混合类型架构升级,mongoose,upsert,Mongoose,Upsert,我需要找出如何(如果可能的话)“插入”混合模式类型。 我想使用无模式的方法,但我需要根据我可以提供的属性插入或更新行 这可能吗 现在我有: 模式定义: var schema = new mongoose.Schema ({ any: mongoose.Schema.Types.Mixed }, { strict: false }); 当我这样做的时候: var modelo = new Mo
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
我严格地要求通过我的感觉,这是不可能使用这种方法与“混合类型”模式。这是基于知道我的模型不包含“更新(…)”lambda函数的定义。只需“save(…”——这是可行的,但只是将数据刷新到表中,而不需要我需要的逻辑
谢谢你的回答 据我目前所知,这是不可能的。
仅使用“mongodb”npm包而不是“mongoose”,我就克服了这一问题。mongoose按预期工作。据我目前所知,这是不可能的。 我已经克服了这一点,只需使用“mongodb”npm包而不是“mongoose”就可以正常工作