小编amb*_*ing的帖子

不支持选项 [useFindAndModify]

使用 mongodb-4.0.10 和 mongoose-5.2.10

添加useFindAndModify: false到 mongoose 配置以避免出现如下警告:

DeprecationWarning: Mongoose:findOneAndUpdate()findOneAndDelete()没有将useFindAndModify选项设置为 false 的情况均已弃用。

DeprecationWarning:collection.findAndModify 已弃用。请改用 findOneAndUpdate、findOneAndReplace 或 findOneAndDelete。

但现在运行应用程序时出现“不支持选项 [useFindAndModify]”。

mongoose mongodb node.js

7
推荐指数
2
解决办法
2万
查看次数

如何在 Mongoose/MongoDB 中聚合两个集合?

在我的学习服务器上。我有两个关于用户及其种族的集合。Races 具有userId属性,以便了解哪些用户发起了这场比赛。我需要整合所有用户和所有种族的对象。

我有用户集合:

[
    {
        "_id": "5d938ec8b17e522018e327db",
        "name": "max",
        "surname": "buinevich",
        "username": "axe",
        "__v": 0
    }
]
Run Code Online (Sandbox Code Playgroud)

和比赛集合:

[
    {
        "_id": "5d93ac4c7076dc212ce187d6",
        "userId": "5d938ec8b17e522018e327db",
        "stageId": "5d939e16d4e51d2eac81827d",
        "title": "test race",
        "time": 33,
        "description": "test desc",
        "__v": 0
    }
]
Run Code Online (Sandbox Code Playgroud)

所以我需要让所有用户参加适当的比赛才能得到如下结果:

[
    {
        "_id": "5d938ec8b17e522018e327db",
        "name": "max",
        "surname": "buinevich",
        "username": "axe",
        "races": [{
                    "_id": "5d93ac4c7076dc212ce187d6",
                    "userId": "5d938ec8b17e522018e327db",
                    "stageId": "5d939e16d4e51d2eac81827d",
                    "title": "test race",
                    "time": 33,
                    "description": "test desc",
                    "__v": 0
                }]
        "__v": 0
    }
]
Run Code Online (Sandbox Code Playgroud)

我不想在集合模式中使用引用。也许是猫鼬聚合之类的东西。

mongoose mongodb node.js aggregation-framework

3
推荐指数
1
解决办法
5161
查看次数

JS if(item ===?)语句未触发。比较问题

目的: 用户输入信息。脚本运行并检查appendJSON.json其内容中是否包含任何内容。返回.json或的内容[]

问题: 当比较findNote === ''ifstatment不不火过return []。如果有东西在appendJSON.jsonelsestatment打完像intented return findnote

尝试: 尝试过比较findNote''nullundefiend。结果相同,返回的内容一无是处。

第一个代码块:接受输入然后检查.json任何内容。 log看看从什么回来fetchNotes()

function addNote(argv) {
  const newSubmission = argv;
  const getLibrary = fetchNotes().toString();
  log(getLibrary);
}
Run Code Online (Sandbox Code Playgroud)

第二个代码块 fetchNotes()

function fetchNotes() {
  const findNote = fs.readFileSync("./appendJSON.json");
  if (findNote === "") {
    return [];
  } else {
    return findNote;
  }
} …
Run Code Online (Sandbox Code Playgroud)

javascript node.js

3
推荐指数
1
解决办法
46
查看次数

如何计算mongodb中字符串的总和?

在 mongodb 中,我想计算partialAmount类型字段的总和string,并且在此字段中值存储为"20,00""15,00"

如何计算所有值的总和。我尝试过的两个查询都返回 0。

collection.aggregate([
  {
    $group: {
      _id: null,
      sum: { $sum: "$$partialAmount" }
    }
  }
]);
Run Code Online (Sandbox Code Playgroud)

和:

collection.aggregate([
  {
    $group: {
      _id: null,
      totalAmount: {
        $sum: {
          $toDouble: "$partialAmount"
        }
      }
    }
  }
]);
Run Code Online (Sandbox Code Playgroud)

mongodb

3
推荐指数
1
解决办法
1885
查看次数

如何为 Mongoose 中的日期字段设置正确的时区?

我正在使用moment来生成时间和日期:

const moment = require('moment-timezone');
const emailModel = require('./api/models/emails');

sentTime=moment().tz('America/Los_Angeles').format();
console.log(sentTime);    //console log  shows correct time
emailModel.findOneAndUpdate({ _id: emailInfo._id }, {sentTime: sentTime }, { upsert: true },function (err, doc) {
  if (err)
    console.log(err);
});
Run Code Online (Sandbox Code Playgroud)

这是我正在使用mongoose 的架构:

const mongoose = require('mongoose');

const Schema = mongoose.Schema;
const EmailSchema = new Schema({
   .
   .
   .
    sentTime: {
        type: Date,
        trim: true
    }
   .
   .
   .
});
Run Code Online (Sandbox Code Playgroud)

问题是:控制台日志显示正确的时间2020-01-07T12:23:00-08:00 但猫鼬在数据库中保存了错误的时区:2020-01-07T20:23:01.000+00:00

mongoose mongodb node.js momentjs moment-timezone

3
推荐指数
1
解决办法
5380
查看次数

更改 hbs 文件时服务器重新启动

handlebars我在服务器上使用模板引擎。nodemom当文件发生更改时,我使用该库重新启动服务器。我还使用该-w标志在文件更改时自动编译scss文件。但只要文件发生更改,服务器就不会重新启动hbs

如果更改了文件,如何重新启动服务器hbs

node.js handlebars.js nodemon

1
推荐指数
1
解决办法
807
查看次数