📜  mongodb 添加数组来设置 - TypeScript (1)

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

MongoDB 添加数组来设置 - TypeScript

本文将介绍如何在 TypeScript 中使用 MongoDB 添加数组来设置。

什么是 MongoDB?

MongoDB 是一款开源的文档型 NoSQL 数据库,支持丰富的数据模型和查询方式。

TypeScript 中使用 MongoDB

在 TypeScript 中,我们可以使用官方提供的 mongodb 包来操作 MongoDB 数据库。

首先,我们需要安装 mongodb 包:

npm install mongodb

接着,我们需要先连接 MongoDB 数据库:

import { MongoClient } from 'mongodb';

const uri = 'mongodb://localhost:27017';
const client = new MongoClient(uri);

async function run() {
  try {
    await client.connect();
    console.log('Connected successfully to MongoDB server');
  } catch (err) {
    console.log(err.stack);
  } finally {
    await client.close();
  }
}

run().catch(console.dir);

连接成功后,我们可以开始操作数据库了。

添加数组

假设我们有一个 users 集合,每个用户都有一个 friends 数组,我们需要往一个用户的 friends 数组中添加一项。

首先,我们需要获取到该用户的 _id

const collection = client.db('test').collection('users');
const user = await collection.findOne({ name: 'John' });
const userId = user && user._id;

然后,我们可以使用 $push 操作符来添加一个元素到该用户的 friends 数组中:

await collection.updateOne(
  { _id: userId },
  { $push: { friends: 'Jane' } }
);

完整代码如下:

import { MongoClient } from 'mongodb';

const uri = 'mongodb://localhost:27017';
const client = new MongoClient(uri);

async function run() {
  try {
    await client.connect();
    console.log('Connected successfully to MongoDB server');

    const collection = client.db('test').collection('users');
    const user = await collection.findOne({ name: 'John' });
    const userId = user && user._id;
    await collection.updateOne(
      { _id: userId },
      { $push: { friends: 'Jane' } }
    );
    console.log('Friend added successfully');
  } catch (err) {
    console.log(err.stack);
  } finally {
    await client.close();
  }
}

run().catch(console.dir);
总结

通过 本文学习了如何在 TypeScript 中使用 MongoDB 添加数组来设置。我们首先连接数据库,获取到该用户的 _id,然后使用 $push 操作符往该用户的 friends 数组中添加一项。