Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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
Angularjs 筛选特定类型的所有项目(参考文档)_Angularjs_Mongodb_Mongoose_Mean Stack_Meanjs - Fatal编程技术网

Angularjs 筛选特定类型的所有项目(参考文档)

Angularjs 筛选特定类型的所有项目(参考文档),angularjs,mongodb,mongoose,mean-stack,meanjs,Angularjs,Mongodb,Mongoose,Mean Stack,Meanjs,我正在尝试查询属于库存.product.type计算机的所有库存.product产品。我不知道该怎么做。我已经阅读了文档并尝试了一些,但它似乎是:db.inventory.products.find({type:{code:{$in:['computers']}}})将是正确的方法,但永远不会返回任何类型的产品 我在mongo prompt中构建查询的原因是为了在成功后将其移动到我的服务 有什么建议吗 存货.产品 存货、产品、类型 解决方案是在我的服务中创建一个方法,如下所示: service.

我正在尝试查询属于
库存.product.type
计算机的所有
库存.product
产品。我不知道该怎么做。我已经阅读了文档并尝试了一些,但它似乎是:
db.inventory.products.find({type:{code:{$in:['computers']}}})
将是正确的方法,但永远不会返回任何类型的产品

我在mongo prompt中构建查询的原因是为了在成功后将其移动到我的服务

有什么建议吗

存货.产品 存货、产品、类型
解决方案是在我的服务中创建一个方法,如下所示:

service.autoCompleteType = function(query) {
  var productList = null;
  var products = [];

  return Product
    .find()
    .populate('type')
    .exec()
    .then(function(products){
      productList = products;
    })
    .then(function(quantities){
      for (var i in productList) {
        if (productList[i].type.code === query) {
          products.push(productList[i]);
        }
      }
    return products;
  });
};
这允许我根据需要查询
type.code
,并返回所有匹配的
query

'use strict';

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var ProductTypeSchema = new Schema({
  code: {
    type: String,
    trim: true
  },
  name: {
    type: String,
    required: 'Please enter name',
    trim: true
  },
});

mongoose.model('Inventory.Product.Type', ProductTypeSchema);
service.autoCompleteType = function(query) {
  var productList = null;
  var products = [];

  return Product
    .find()
    .populate('type')
    .exec()
    .then(function(products){
      productList = products;
    })
    .then(function(quantities){
      for (var i in productList) {
        if (productList[i].type.code === query) {
          products.push(productList[i]);
        }
      }
    return products;
  });
};