如何从猫鼬集合中读取所有文档?

时间:2021-03-20 21:26:45

标签: mongodb mongoose

似乎是一个简单的问题,但我找不到答案。有一个 posts 的集合,其中的文档有一个字段 rubric。如何使用 Post.find ({rubric: value}, function) 在 mongoose 中读取此集合中的所有文档,但保留 rubricvalue 必须具备什么条件才能发挥作用?

1 个答案:

答案 0 :(得分:1)

要根据字段是否存在来查找它具有的任何值,您可以这样使用 $exists

function createObjets(recData); {
// Find all sensors
  let sensors = [];
  for (let i = 0; i < recData.length; i++) {
    let foundId = recData[i].split(",")[2];
    if (!sensors.includes(foundId)) {
      sensors.push(foundId);
    }

// Create an object for each sensor id
  for (let s = 0; s < sensors.length; s++) {
    sensor[s] = new sensor();
    sensor[s].setData(recData, sensors[s]);
  }
}  

function sensor() {
  this.setData = function(data, sensor) {
  // Extracts data for current sensor id
  this.id     = sensor;
  this.date   = [];
  this.time   = [];
  this.temp   = [];
  this.rh     = [];

  for (let i = 0; i < data.length; i++) {
    // Loop thru all readings and store data only for current sensor
    if (data[i].split(",")[2] == this.id) {
      this.date.push(data[i].split(",")[0]);
      this.time.push(data[i].split(",")[1]);
      this.temp.push(data[i].split(",")[3]);
      this.rh.push(data[i].split(",")[4]);
     }
  }

使用 mongoose 是相同的查询。像这样:

db.collection.find({
  "rubric": {
    "$exists": true
  }
})

示例 here

此外,要了解 mongo world 中的这些世界,您可以在每次遇到问题时查看 documentation

在页面左侧,您会看到“参考 > 运算符”,您可以使用多种不同的运算符。