在使用nodejs和mongoose的mongo db中插入集合时,定义了两个文件
Model.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/stack1');
var stackSchema = mongoose.Schema({
name: String
})
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
var tagData = new Schema(
{
tag : String,
data :[viewData]
}
)
var viewData = new Schema({
view : String,
date : Date
});
module.exports = mongoose.model('Tag', tagData);
View.js
var Tag = require('./Model');
var view =({
"view" : "700",
"date" : "2001/1/20"
});
var tag = new Tag(
{"tag" : "java"}
);
tag.data.push(view);
//console.log(tag)
tag.save(function (err) {
if (!err) console.log('Success!');
});
执行上述代码时,我可以在控制台中看到成功消息
bash $ node view.js
Success!
当我查询mongodb集合时,它什么都不返回
> db.stack1.find()
我做错了什么以及如何纠正
答案 0 :(得分:1)
find
查询正在查找shell中默认数据库的stack1
集合。
使用您的代码查询tags
数据库中stack1
集合的内容:
> use stack1
> db.tags.find()