当前位置: 首页 > 知识库问答 >
问题:

NodeJS MongoDB-如何修复更新操作文档必须包含原子运算符?

燕砚文
2023-03-14

我是mongodb和Nodejs的新手,我想知道我的代码有什么问题,

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://url-this-is-working";


MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbase = db.db("SampleNodeDB"); 
  var myquery = { address: "Valley 345" };
  var newvalues = { name: "Mickey", address: "Canyon 123" };
  dbase.collection("customers").updateOne(myquery, newvalues, function(err, res) {
    if (err) throw erre
    console.log("1 document updated");
    db.close();
  });
});

谢谢你!

共有1个答案

叶德运
2023-03-14

您尝试使用查询更新为新值

    var newvalues = { name: "Mickey", address: "Canyon 123" };

但是您应该添加$set操作符,它是像$inc、$push等这样的原子操作符,以使其成为更新查询。像这样;

    var newvalues = { $set: {name: "Mickey", address: "Canyon 123"} };
 类似资料:
  • 在我的收藏中,只有一份文件。 我的MongoDB是3.2。

  • 我有这个功能来保存新记录或更新现有项: 以下是模式:

  • 这真的是一个令人头痛的问题,我不知道这里出了什么问题。我几周前才开始使用猫鼬,所以我想知道这是不是我在这里误解了一些基本的东西。

  • 问题内容: 我试图创建一个非常动态的宏,该宏将根据用户的选择更新数据库中的不同表。每个表当然都有不同的标题和信息。我在更新时遇到问题(当用户将新记录添加到旧表时)。这是代码的一部分,问题是当它到达“ .update”时,出现“操作必须使用可更新查询”错误。 问题答案: 舍弃此行: 或者像这样尝试: 请参阅MSDN上的CursorLocation属性(ADO)的“备注”部分: “如果 CursorL

  • 问题内容: 对于jdbc程序,我需要将连接建立为excel数据库。该连接已成功建立,但在其中输入了值,则给出了“操作必须使用可更新查询”的异常。 这是代码: 问题答案: 您是否特别指出连接已在您的连接字符串中被读写? 我不熟悉JDBC,但ODBC将是: 默认情况下,Excel是只读的:http : //support.microsoft.com/kb/257819

  • 将mongodb与pymongo一起使用,我有以下文档: 我想更新示例子文档(这是一个数组元素,因为可能有多个示例)。我有以下代码,但它不工作... 谁能告诉我这个有什么问题吗?