Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过查询过滤器在mongodb中搜索_Javascript_Mongodb - Fatal编程技术网

Javascript 如何通过查询过滤器在mongodb中搜索

Javascript 如何通过查询过滤器在mongodb中搜索,javascript,mongodb,Javascript,Mongodb,我在我的网站上有一个表格,用户可以在搜索字段中键入一个单词,我希望mongodb在特定对象中搜索这些单词,并只返回匹配的对象。搜索文本在请求查询中发送 我使用以下代码进行分页,但缺少搜索功能 const result = await orders.aggregate([ { $facet: { rows: [ { $match: { status: { $in: ['received', 'packing', 'packed

我在我的网站上有一个表格,用户可以在搜索字段中键入一个单词,我希望mongodb在特定对象中搜索这些单词,并只返回匹配的对象。搜索文本在请求查询中发送

我使用以下代码进行分页,但缺少搜索功能

const result = await orders.aggregate([
      { $facet: {
        rows: [
          { $match: { status: {
            $in: ['received', 'packing', 'packed', 'fulfilled', 'rejected', 'withdrawn'],
          },
          } },
          { $skip: offsetPage * parseInt(req.query.rowsPerPage) },
          { $limit: parseInt(req.query.rowsPerPage) },
          { $project: {
            record: 1,
            status: 1,
            onPalette: 1,
            note: 1,
            grossTotal: 1,
            receivedLog: 1,
            arrivalDate: 1,
            partner: 1,
            location: 1,
          } },
        ],
        count: [
          { $count: 'count' },
        ],
      } },
    ]).toArray();
我想在“记录”字段中搜索数字,在合作伙伴的名称中搜索字符串“partner.name”

如果没有发送搜索查询,或者搜索查询(req.query.filter)是空字符串,只需返回所有内容

{ "_id" : 1, "location" : "24th Street",
  "in_stock" : [ "apples", "oranges", "bananas" ] }
{ "_id" : 2, "location" : "36th Street",
  "in_stock" : [ "bananas", "pears", "grapes" ] }
{ "_id" : 3, "location" : "82nd Street",
  "in_stock" : [ "cantaloupes", "watermelons", "apples" ] }
db.fruit.aggregate([
  {
    $project: {
      "store location" : "$location",
      "has bananas" : {
        $in: [ "bananas", "$in_stock" ]
      }
    }
  }
])
OUTPUT --
{ "_id" : 1, "store location" : "24th Street", "has bananas" : true }
{ "_id" : 2, "store location" : "36th Street", "has bananas" : true }
{ "_id" : 3, "store location" : "82nd Street", "has bananas" : false }