猫鼬4.1混合类型架构upsert

绿金

我需要找出如何(如果可能)“增加”混合模式类型。我想使用无模式方法,但是我需要根据我可以提供的属性插入或更新行。

这可能吗?

我现在有:

模式定义:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章