📜  mongodb 替换文档 - Javascript (1)

📅  最后修改于: 2023-12-03 15:03:01.912000             🧑  作者: Mango

MongoDB 替换文档 - Javascript

在 MongoDB 中,您可以使用 db.collection.update() 方法来替换一个文档。该方法需要三个参数:查询条件、新文档和一些可选配置选项。新文档将替换符合查询条件的现有文档。

以下是 db.collection.update() 方法的基本语法:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • <query>:查询条件,用于指定要替换哪些文档。
  • <update>:更新操作,指定要替换成的新文档。
  • upsert:如果设置为 true,则在找不到符合查询条件的文档时创建一个新文档。
  • multi:如果设置为 true,则更新所有符合查询条件的文档,否则只更新第一个匹配文档。
  • writeConcern:指定写操作的安全级别。

以下是一个示例,演示如何替换一个文档:

db.collection('users').update(
    { name: 'Alice' },
    { name: 'Bob', age: 30 }
);

在这个例子中,我们查询符合 { name: 'Alice' } 条件的文档,并用 { name: 'Bob', age: 30 } 替换它。这个操作将进入单个文档模式,即只替换第一个匹配的文档。如果我们想更新所有符合条件的文档,可以将 multi 参数设置为 true

db.collection('users').update(
    { name: 'Alice' },
    { name: 'Bob', age: 30 },
    { multi: true }
);

这样,将会把所有 name 属性为 Alice 的文档替换为新文档 { name: 'Bob', age: 30 }。如果找不到符合查询条件的文档,可以使用 upsert 参数创建一个新文档。

db.collection('users').update(
    { name: 'Alice' },
    { name: 'Bob', age: 30 },
    { upsert: true }
);

这个操作会在数据库中查找匹配 { name: 'Alice' } 的文档。如果找不到,那么就会创建一个新文档,并且使用 { name: 'Bob', age: 30 } 来填充它。

总之,在 MongoDB 中,可以使用 db.collection.update() 方法来替换一个文档。该方法用于在指定的集合中查找文档并将其替换为新文档。我们可以使用 query 参数来指定要替换的文档,而 update 参数则指定要替换成的新文档。使用 multi 参数可以替换所有符合条件的文档,upsert 参数则允许在找不到文档时创建一个新文档。