简体   繁体   English

如何用数据库中的值查询mongo数据库?

[英]how to query mongo db with values in the db?

using angular2 with meteor, with the following data: 使用带有流星的angular2,并包含以下数据:

{ "_id" : "DxEraKtfYavoukdCK", "name" : "Aaron", "capacity" : 20,  "available_capacity" : 15, "location" : "1" }
{ "_id" : "yMhEggaGmS7iio9P4", "name" : "Benard", "capacity" : 20,  "available_capacity" : 20, "location" : "2" }
{ "_id" : "TTD2wedGYWaLctJHt", "name" : "Candy", "capacity" : 50, "available_capacity" : 15, "location" : "3" }
  1. how do i find workers with capacity - available_capacity > 10? 我如何找到有能力的工人-available_capacity> 10?

  2. how do i find workers with available_capacity >= capacity? 如何找到具有available_capacity> =能力的工人?

  1. how do i find workers with capacity - available_capacity > 10? 我如何找到有能力的工人-available_capacity> 10?

     db.collection('workers').find({"capacity": {$gt: 10}}).toArray(function (err, res) { if (err) throw err; console.log(res); }); 
  2. how do i find workers with available_capacity >= capacity? 如何找到具有available_capacity> =能力的工人?

     db.collection('workers').aggregate( [ { $project: { _id: 1, name: 1, capacity:1, capacity_available: { $gte: $capacity}, location: 1 } } ] ); 

Update 更新资料

I just ran out other tutorials. 我刚用完其他教程。 I think the concept will be the same 我认为这个概念会是一样的

Q1 Q1

Workers = new Mongo.Collection('workers');

if (Meteor.isClient) {

  // This code only runs on the client
  angular.module('simple-todos',['angular-meteor']);

  angular.module('simple-todos').controller('TodosListCtrl', ['$scope', '$meteor',
    function ($scope, $meteor) {

      $scope.findWorkers = $meteor.collection( function() {
        return Workers.find({"capacity": {$gt: 10}});
      });

    }]);
}

Q2 Q2

I don't know aggregate gonna working here. 我不知道聚合将在这里工作。 Just guess 只要猜

Workers = new Mongo.Collection('workers');

if (Meteor.isClient) {

  // This code only runs on the client
  angular.module('simple-todos',['angular-meteor']);

  angular.module('simple-todos').controller('TodosListCtrl', ['$scope', '$meteor',
    function ($scope, $meteor) {

      $scope.findWorkers = $meteor.collection( function() {
        return Workers.aggregate(
        [
           {
              $project:
               {
                 _id: 1,
                 name: 1,
                 capacity:1,
                 capacity_available: { $gte: $capacity},
                 location: 1
               }
           }
         ]
        );
      });
    }]);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM