我通过在express nodejs中使用请求参数创建动态查找查询来查询mongodb以获取数据库中的完整集合。 但是查询时未找到结果。
const mongo=require('mongodb')
const MongoClient=mongo.MongoClient;
const assert=require('assert');
const express=require('express');
const app=express();
const http=require('http');
const url='http://127.0.0.1:27017';
const port='8000';
const host="localhost";
var server=http.createServer(app);
app.get('/:title',(req, res)=>{
res.setHeader('Access-Control-Allow-Origin', '*')
res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Authorization');
MongoClient.connect(url, (err, db)=>{
var database=db.db('AppDatabase');
var search=req.params.title;
const query={"search":{search}};
database.collection('testdata').find(query).toArray((err, result)=>{
assert.equal(null,err);
var data=JSON.stringify(result);
res.send(data);
db.close();
});
});
});
server.listen(port, host,()=>{
console.log("running");
});
预期结果是一个完整的集合,实际结果是“ []”。
答案 0 :(得分:0)
不可能明确地回答而没有看到数据库的架构。但是我怀疑您没有“搜索”的字典键,而应该是“标题”。我将修改代码,使其看起来像这样:
var search=req.params.title;
const query={title:search};