Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么这个mongoose代码没有控制台日志?_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 为什么这个mongoose代码没有控制台日志?

Node.js 为什么这个mongoose代码没有控制台日志?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我试图学习如何在连接打开的情况下使用mongoDB,我遇到了Mongoose 我试着用mongoose测试我与mongoDB的连接,结果成功了 var mongoose = require('mongoose'); var mongoDB = "mongodb://IP:port/database"; mongoose.connect(mongoDB, { useNewUrlParser: true },function(err){console.log("Connected")}); 我的M

我试图学习如何在连接打开的情况下使用mongoDB,我遇到了Mongoose

我试着用mongoose测试我与mongoDB的连接,结果成功了

var mongoose = require('mongoose');
var mongoDB = "mongodb://IP:port/database";
mongoose.connect(mongoDB, { useNewUrlParser: true },function(err){console.log("Connected")});
我的MongoDB采用以下结构:

数据库名称:db

集合名称:myCollection

集合中的文档结构:
{u id:'mongoDB生成的随机对象字符串,name:'name',bill:'56445'}

我想获取所有文档或匹配文档,例如,
db.myCollection.find()
db.myCollection.find({name:'Jeeva'})

以下是我尝试过的:

var mongoose = require('mongoose');
var mongoDB = "mongodb://IP:port/db";
mongoose.connect(mongoDB, { useNewUrlParser: true });
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
var Schema = mongoose.Schema;
var myCollection = new Schema({
    name : String,
    bill : String
}, {collections : 'myCollection'});
var myCollectionModel = mongoose.model('myCollection', myCollection);
var myCollection = mongoose.model('myCollection')
myCollection.find({}, function(error, PO){
    console.log("im here!")
    console.log(PO);    
});
控制台:

im here!
[] 

问题在于你的模型。它试图在myCollections中查找文档,即传递给模型创建方法的第一个参数的复数形式。这是猫鼬的默认行为。要处理此问题,您可以手动将集合名称作为第三个参数传递。试着改变

var mongoose = require('mongoose');
var mongoDB = "mongodb://IP:port/db";
mongoose.connect(mongoDB, {
    useNewUrlParser: true
});
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
var Schema = mongoose.Schema;
var myCollection = new Schema({
    name: String,
    bill: String
}, {
    collections: 'myCollection'
});
var myCollectionModel = mongoose.model('myCollection', myCollection, 'myCollection');
myCollectionModel.find({}, function(error, PO) {
    console.log("im here!")
    console.log(PO);
});

希望这有帮助:)

问题在于您的型号。它试图在myCollections中查找文档,即传递给模型创建方法的第一个参数的复数形式。这是猫鼬的默认行为。要处理此问题,您可以手动将集合名称作为第三个参数传递。试着改变

var mongoose = require('mongoose');
var mongoDB = "mongodb://IP:port/db";
mongoose.connect(mongoDB, {
    useNewUrlParser: true
});
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
var Schema = mongoose.Schema;
var myCollection = new Schema({
    name: String,
    bill: String
}, {
    collections: 'myCollection'
});
var myCollectionModel = mongoose.model('myCollection', myCollection, 'myCollection');
myCollectionModel.find({}, function(error, PO) {
    console.log("im here!")
    console.log(PO);
});

希望这有帮助:)

代码有效!我对此有点困惑:它试图在myCollections中查找文档,即传递给模型创建方法的第一个参数的复数形式。这些词是转换成复数还是只是在结尾加上“s”?例如:如果第一个参数是'is',它是否会更改为'Are'或Iss'?据我所知,它只会在第一个参数的末尾附加一个's'。很高兴它能帮上忙..很高兴编码:)代码有效!我对此有点困惑:它试图在myCollections中查找文档,即传递给模型创建方法的第一个参数的复数形式。这些词是转换成复数还是只是在结尾加上“s”?例如:如果第一个参数是'is',它是否会更改为'Are'或Iss'?据我所知,它只会在第一个参数的末尾附加一个's'。很高兴它能帮上忙..快乐编码:)