Node.js NodeJs+MongoDB:按it参数返回文档

Node.js NodeJs+MongoDB:按it参数返回文档,node.js,mongodb,express,Node.js,Mongodb,Express,这是我的MongoDB结构: 我想做一个查询,返回数据库中1个文档的所有键和值。我应该选择关键内容转换为ciao的文档。 这是我的代码: var router = express.Router(); const MongoCient = require('mongodb').MongoClient; const dbName = 'myproject'; const url = 'mongodb://localhost:27017'; router.get('/get/:id', funct

这是我的MongoDB结构:

我想做一个查询,返回数据库中1个文档的所有键和值。我应该选择关键内容转换为ciao的文档。 这是我的代码:

var router = express.Router();

const MongoCient = require('mongodb').MongoClient;
const dbName = 'myproject';
const url = 'mongodb://localhost:27017';

router.get('/get/:id', function (req, res) { 

  var param = req.params.id;

  var myQuery = {
    "content-transition":param
  };

  MongoClient.connect(url, function(err, client) {
    var collection = client.db(dbName).collection('documents');
    var result = collection.find({myQuery});
    console.log(result)
  });

});
我希望在控制台中通过输入参数将文档返回到变量result中。 这段代码是用带有che ExpressJs库的NodeJs编写的。

如果myQuery被定义为{content transition:param}

您正在调用collection.find{myQuery}

那么你真正要做的是

collection.find({ myQuery: { "content-transition": param }});
当然,mongo不知道该怎么办


在调用collection时,请尝试删除myQuery周围的花括号。查找。

您好,谢谢您的回答。您的语法正确,但我不返回文档。您也没有向传递回调,也没有对collection.find返回的游标执行任何操作。这个函数是异步的;你必须等待它完成它的工作。我必须附加。找到漂亮吗?