Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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
Javascript 为什么我会得到nedb错误;不能混合使用修改器和普通字段“;更新_Javascript_Nedb - Fatal编程技术网

Javascript 为什么我会得到nedb错误;不能混合使用修改器和普通字段“;更新

Javascript 为什么我会得到nedb错误;不能混合使用修改器和普通字段“;更新,javascript,nedb,Javascript,Nedb,我尝试使用以下代码更新nedb文档: var doc = { "$set": { "freimessen.messungen": [ { "Intervall": "kein", "messvorlage": 9,

我尝试使用以下代码更新nedb文档:

  var doc =   {
        "$set": {
            "freimessen.messungen": [
                {
                    "Intervall": "kein",
                    "messvorlage": 9,
                    "startzeit": "2021-04-21T16:00:00.000Z",
                    "gaspruefer": 1,
                    "kommentar": "Bitte sorgfältig messen :)",
                    "nummer": 1,
                    "befahrungid": 75,
                    "csenummer": "EPTW-00075-01",
                    "cseid": "288"
                }
            ],
            "status": {
                "id": 3,
                "name": "Messungen beauftragt"
            }
        }
    };

var idobj = { 'id': 35 };

mydb.update(idobj, doc, {}, function (err, numreplaced) {
                   // error handling
                });
但是nedb抱怨说:你不能混合使用修饰符和普通字段

更新文档有什么问题?我想更新freimessung.messungen字段中的整个数组。所有项目都需要获得一个新字段“befahrungId”,因此我基本上阅读了文档,将befahrungId添加到数组中的每个项目并进行更新,但这似乎不起作用


我真的需要单独更新每个数组项吗?

我试着运行你的代码,但它运行正常,我看不到任何修饰符与普通字段混合。您确定这与抛出错误的代码完全相同吗?关于更新阵列。在您的示例中,将旧的
messungen
数组替换为新的单元素数组。我想这不是你的本意,对吧?您是否希望将新元素推送到现有的
messungen
数组中?实际的代码被包装成承诺,但基本上是相同的。唯一的区别是,更新后的记录实际上相当复杂,我只对其进行了部分更新。奇怪的是它对你有用。是的,我想更新旧的数组-这就是我的意图,因为所有元素都被修改了(在这个例子中是一个元素)。奇怪的是,当我在你的应用程序中尝试它时,它也适用于我,你是直接调用nedb方法还是有像feathers nedb或类似的包装器?