Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/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
Node.js 猫鼬upsert数据_Node.js_Mongodb - Fatal编程技术网

Node.js 猫鼬upsert数据

Node.js 猫鼬upsert数据,node.js,mongodb,Node.js,Mongodb,当我尝试运行findOneAndUpdate MongoError: E11000 duplicate key error collection: AdStitchr.listeners index: uuid dup key: { UUID: "4502191d-1975-463d-8fc1-8ab3537cc9c8" } at Connection.<anonymous> (C:\Users\russe\node_modules\mongodb\lib\core\

当我尝试运行
findOneAndUpdate

    MongoError: E11000 duplicate key error collection: AdStitchr.listeners index: uuid dup key: { UUID: "4502191d-1975-463d-8fc1-8ab3537cc9c8" }
    at Connection.<anonymous> (C:\Users\russe\node_modules\mongodb\lib\core\connection\pool.js:466:61)         at Connection.emit (events.js:210:5)
    at processMessage (C:\Users\russe\node_modules\mongodb\lib\core\connection\connection.js:384:10)           at TLSSocket.<anonymous> (C:\Users\russe\node_modules\mongodb\lib\core\connection\connection.js:553:15)    at TLSSocket.emit (events.js:210:5)
    at addChunk (_stream_readable.js:326:12)
    at readableAddChunk (_stream_readable.js:301:11)
    at TLSSocket.Readable.push (_stream_readable.js:235:10)
    at TLSWrap.onStreamRead (internal/stream_base_commons.js:182:23) {
  operationTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1580080312 },
  ok: 0,
  errmsg: 'E11000 duplicate key error collection: AdStitchr.listeners index: uuid dup key: { UUID: "4502191d-1975-463d-8fc1-8ab3537cc9c8" }',
  code: 11000,
  codeName: 'DuplicateKey',
  keyPattern: { UUID: 1 },
  keyValue: { UUID: '4502191d-1975-463d-8fc1-8ab3537cc9c8' },
  '$clusterTime': {
    clusterTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1580080312 },
    signature: { hash: [Binary], keyId: [Long] }
  },
  name: 'MongoError',
  [Symbol(mongoErrorContextSymbol)]: {}
}
质疑

变量更新={'$set':{ “endtime”:Date.now() }},


userdata
变量作为查询传递,这意味着应满足以下四个条件:

const userData = {"UUID": query.uuid, "ipaddress":ip, "station":query.station,"starttime":Date.now()};
问题是,
“starttime”:Date.now()
每次运行此代码时都会生成新值,这导致没有匹配的数据库文档,因此在数据库上运行upsert时会有插入尝试。尝试删除动态评估的条件:

const userData = {"UUID": query.uuid, "ipaddress":ip, "station":query.station };

你能分享你的查询和你试图修改的文档吗?@mickl done。然而,我认为这与复制钥匙有关。你能回答“嘿@DarkKnight”吗?如果它仍然没有动力,我会稍后再看
const userData = {"UUID": query.uuid, "ipaddress":ip, "station":query.station,"starttime":Date.now()};
const userData = {"UUID": query.uuid, "ipaddress":ip, "station":query.station };