繁体   English   中英

如何从 mongoDB 获取多个文档?

[英]How can I get more than one document from mongoDB?

我有一个 Button 组件,它生成了 16 次,它有 localstate(reactjs),但我需要通过使用与 mongoDB 的连接来使其具有全局性,因此我必须从每个 Button 的一个集合中获取 16 个文档,但我不知道我做的不好..我能做到的最好是生成整个集合 16 次或获取一个文档 16 次.. 我怎样才能获取另一个文档? 像第 1、第 2、第 3...第 16 次。 请帮忙

编码:

router.get('/:name', (res, req) => {
const name = req.params.name

console.log('name', name);

 Buttons.find({ name: name})
.then(buttons => res.json(buttons))
.catch(err => res.status(402).send({message: 'error while fetching'})
);
});

和函数代码:

  async function getButtons(name) {
try {
const response = await axios.get(`api/buttons/${name}`);
 return response, console.log(response);
catch (error) {
console.log(error)
}
}

 console.log(getButtons());

你可以从你的请求中获取你的名字作为参数

router.get('/:name', (res, req) => {

 const name = req.params.name;

  console.log('name',name); // check you are getting name or not ?

 // findOne will find your one document as per your name and return your document is better to use then find 

 Buttons.findOne({ name : name })  
.then(buttons => res.json(buttons))
.catch(err=> res.status(402).send({message : 'error while fetching recored' }))

});

用于前端

const getButtons = async (name) => {

    let RESULT;

     axios.get('api/buttons/${name}')
      .then( response => { RESULT = response.data } )
      .catch(err => console.log(err));

    console.log('RESULT',RESULT);

    return RESULT;

}


 console.log('data',getButtons('button1'));

现在您可以使用名称 getButtons(your_button_name) 调用此函数,您将根据传递的名称获得按钮响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM