gpt4 book ai didi

javascript - 在 Mongoose 上迭代文档

转载 作者:行者123 更新时间:2023-12-03 02:04:35 26 4
gpt4 key购买 nike

我使用 mongoose 在 mongodb 中插入一个带有 insertMany 函数的元素数组。一切都很顺利,但我需要为每个元素获取他的 id。当我插入这些元素时,我收到一个文档数组,但无法迭代它们。

你有什么解决办法吗?

代码示例:

const docsExamples = await Examples.insertMany(req.body.examples);

最佳答案

您可以在 insertMany 返回的文档数组上使用 .map() 来返回仅包含 id 的新数组,如下所示:

#!/usr/bin/env node
'use strict';

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
const Schema = mongoose.Schema;

const schema = new Schema({
name: String
});

const Test = mongoose.model('test', schema);

const tests = [];

for (let i = 0; i < 10; i++) {
tests.push(new Test({ name: `test${i}`}));
}

async function run() {
await mongoose.connection.dropDatabase();
const docs = await Test.insertMany(tests);
const ids = docs.map(d => d.id);
console.log(ids);
return mongoose.connection.close();
}

run();

输出:

stack: ./49852063.js
[ '5ad47da0f38fec9807754fd3',
'5ad47da0f38fec9807754fd4',
'5ad47da0f38fec9807754fd5',
'5ad47da0f38fec9807754fd6',
'5ad47da0f38fec9807754fd7',
'5ad47da0f38fec9807754fd8',
'5ad47da0f38fec9807754fd9',
'5ad47da0f38fec9807754fda',
'5ad47da0f38fec9807754fdb',
'5ad47da0f38fec9807754fdc' ]
stack:

关于javascript - 在 Mongoose 上迭代文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49852063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com