Node.js Mongoose NodeJS-使用获取查询的属性。选择子查询

Node.js Mongoose NodeJS-使用获取查询的属性。选择子查询,node.js,express,mongoose,Node.js,Express,Mongoose,我在NodeJS | Express应用程序的routes.js文件中获得了请求正文 await Furniture.findOne({ name: givenName }, async (err, result) => { // make it pure object var pureObject = result.toObject(); // return result res.json({ pt: pureObject.pt,

我在NodeJS | Express应用程序的routes.js文件中获得了请求正文

await Furniture.findOne({ name: givenName }, async (err, result) => {
    // make it pure object
    var pureObject = result.toObject();
    // return result
    res.json({
      pt: pureObject.pt,
      en: pureObject.en,
      pl: pureObject.pl
    });
  }).select("names -_id");
当我尝试打印时,例如:[
console.log(pureObject.pt)
],它们是未定义的

  • 当我打印整个对象[
    console.log(pureObject)
    ]时,我得到的正是我想要的:

    {names:{pt:'name in pt',en:'name in en',pl:'name in pl'}

  • 另外:当我删除“选择”子查询时,我可以毫无问题地获得这些特定属性

  • 为什么?我尝试了pureObject['pt'],但显然它也不起作用。

    因为
    console.log(pureObject)
    给出了以下输出:

    {names:{pt:'name in pt',en:'name in en',pl:'name in pl'}
    
    因此,您需要使用
    pureObject.names.pt
    ,即
    console.log(pureObject.names.pt)


    为什么?从输出中可以清楚地看到,
    pureObject
    有一个对象
    names
    ,它有
    pt
    en
    、和
    pl

    谢谢!我的错误无需评论……主题将关闭。