使用 mongodb-4.0.10 和 mongoose-5.2.10
添加useFindAndModify: false
到 mongoose 配置以避免出现如下警告:
DeprecationWarning: Mongoose:
findOneAndUpdate()
和findOneAndDelete()
没有将useFindAndModify
选项设置为 false 的情况均已弃用。DeprecationWarning:collection.findAndModify 已弃用。请改用 findOneAndUpdate、findOneAndReplace 或 findOneAndDelete。
但现在运行应用程序时出现“不支持选项 [useFindAndModify]”。
在我的学习服务器上。我有两个关于用户及其种族的集合。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)
我不想在集合模式中使用引用。也许是猫鼬聚合之类的东西。
目的:
用户输入信息。脚本运行并检查appendJSON.json
其内容中是否包含任何内容。返回.json
或的内容[]
。
问题:
当比较findNote === ''
的if
statment不不火过return []
。如果有东西在appendJSON.json
的else
statment打完像intented return findnote
。
尝试:
尝试过比较findNote
到''
,null
和undefiend
。结果相同,返回的内容一无是处。
第一个代码块:接受输入然后检查.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) 在 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) 我正在使用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
handlebars
我在服务器上使用模板引擎。nodemom
当文件发生更改时,我使用该库重新启动服务器。我还使用该-w
标志在文件更改时自动编译scss
文件。但只要文件发生更改,服务器就不会重新启动hbs
。
如果更改了文件,如何重新启动服务器hbs
?