Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongoose 4.1混合类型架构升级_Mongoose_Upsert - Fatal编程技术网

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”就可以正常工作