0
Nodejsを使って、Express私は整数としてデータベースにデータを保存し、Meanを探します。現在、データ(名前とキャンパスの両方)はStringとして格納されています。平均値を見つけるために$ avgを使用すると、dbはNULL値を返します。データベースのテーブルは、名前とキャンパスです。名前は文字列でなければならず、キャンパスは整数でなければなりません。 $ avgは同じ名前のCampusで実行されます。 これは、これは私のindex.ejsファイルである私のserver.jsファイルNodeJSで文字列ではなく整数としてMongoDBにデータを格納する方法は?
const express = require('express');
var path = require('path');
const bodyParser = require('body-parser')
const MongoClient = require('mongodb').MongoClient
MongoClient.connect('mongodb://dbname:[email protected]:11111/rank', (err, database) => {
if (err) return console.log(err)
db = database
app.listen(8080,() => {
console.log('listening on 8080')
})
})
const app = express();
app.set('view engine', 'ejs')
app.use(express.static(path.join(__dirname, 'public')));
app.get('/', (req, res) => {
db.collection('colleges').find().toArray((err, result) => {
if (err) return console.log(err)
// renders index.ejs
res.render('index.ejs', {colleges: result})
})
})
app.get('/answers', (req, res) => {
db.collection('colleges').find().toArray((err, result) => {
if (err) return console.log(err)
// renders index.ejs
res.render('index.ejs', {colleges: result})
})
})
app.use(bodyParser.urlencoded({extender: true}))
app.post('/colleges', (req, res) =>{
db.collection('colleges').save(req.body, (err, result) =>{
if (err) return console.log(err)
console.log('saved to database')
console.log(JSON.stringify(req.body))
res.redirect('/')
})
})
平均
db.colleges.aggregate([
{ $match: { college: "RVCE"}},
{ $group: {_id:"campus", total: {$avg: "$campus"}}}
])
ここでは、データを格納するコード? '$ avg'クエリを実行するコードはどこですか? – pedromss