gpt4 book ai didi

javascript - 为什么不显示在 Nodejs 和 mongoose 中创建的任何集合

转载 作者:太空宇宙 更新时间:2023-11-04 00:55:14 24 4
gpt4 key购买 nike

我不知道当我在 mongodb 中创建一个新集合时会发生什么,例如,我有这段代码

我在 mongodb 中有这些数据

> use mongo
switched to db mongo
> db.users.find();
{ "_id" : ObjectId("55431e3bdb99b7996f752f8f"), "name" : "David" }
{ "_id" : ObjectId("55431e42db99b7996f752f90"), "name" : "Juan" }
>

这是我的 app.js

var express = require('express');
var mongoose = require('mongoose');
var app = express();

//Connect to mongodb
mongoose.connect("mongodb://localhost/mongo", function(err, res){
if(err) throw err;
console.log("Connected to mongodb");
});

//Model
mongoose.model('users', {name: String});

//Router
app.get('/data', function(req, res){
mongoose.model('users').find(function(err, users){
res.send(users);
});
});

//Server
app.listen(3000, function(){
console.log("server running");
});

这是浏览器中的结果

[{"_id":"55431e3bdb99b7996f752f8f","name":"大卫"},{"_id":"55431e42db99b7996f752f90","name":"胡安"}]

到目前为止一切顺利。

当我在名为“test”或其他名称的同一数据库中创建新集合时,我可以找到 mongodb

> use mongo
switched to db mongo
> db.test.find();
{ "_id" : ObjectId("55501179b5ae498fb42a19e3"), "name" : "Iron" }
{ "_id" : ObjectId("5550238d82553eae20688f6c"), "name" : "Batman" }
>

我的 app.js 使用新集合进行了修改

var express = require('express');
var mongoose = require('mongoose');
var app = express();

//Connect to mongodb
mongoose.connect("mongodb://localhost/mongo", function(err, res){
if(err) throw err;
console.log("Connected to mongodb");
});

//Model
mongoose.model('test', {name: String});

//Router
app.get('/data', function(req, res){
mongoose.model('test').find(function(err, test){
res.send(test);
});
});

//Server
app.listen(3000, function(){
console.log("server running");
});

这是浏览器中的结果

[]

这是我的问题,为什么我在浏览器中的结果是空的......请帮助我,我不知道如果我的 db.test.find() 有数据会发生什么,谢谢

最佳答案

Mongoose 会将集合名称复数化,除非您为其指定要使用的特定名称。因此,在幕后,它实际上尝试使用 tests 作为集合名称。添加名称作为 model 声明的第三个参数。

mongoose.model('test', {name: String}, 'test');

关于javascript - 为什么不显示在 Nodejs 和 mongoose 中创建的任何集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30159408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com