1
私は自分自身Mongodb
教えています。最初は、私は物事を始めるためにTerminal
でnpm install --save mongoose uuid
を走りました。私のプログラムの目的は、データベースにユーザーを格納することです。 Terminal
でデータベースにユーザーを登録する際にエラーが発生するのはなぜですか?
、node index.js
を実行した後、私はそれが言いたい:
About to save!
Saved!
をしかし、私はTerminal
に見ていること(下)です:
はここindex.js
var mongoose = require('mongoose');
var uuid = require('uuid');
var Schema = mongoose.Schema;
/* New code from suggested website in error */
var promise = mongoose.connect('mongodb://localhost:testMongo/testMongo', {
useMongoClient: true,
});
promise.then(function(db) {
db.model();
connection.openUri('mongodb://localhost:testMongo/testMongo', { /* options */ });
var userSchema = new Schema({
email: {
type: String,
unique: true
},
password: {type: String},
todos: [
{
text: {type: String}
}
]
});
userSchema.pre('save', function(next) {
console.log("About to save!");
var user = this;
user.password = uuid.v4();
next();
});
var User = mongoose.model('user', userSchema);
var email = '[email protected]';
// var user = new User({
// email: email
// });
//
// user.save(function(err) {
// if(err) {
// return console.log(err);
// } else {
// return console.log("User was saved!");
// }
// })
//
// console.log("Outside of callback!");
var text = "This is a todo.";
User.findOne({email: email}, function(user, err) {
if(err) {
return console.log(err);
}
if(!user) {
return console.log("Couldn't find user!");
}
var count = user.todos.push({
text: text
});
console.log(count);
user.save(function(err){
if(err) {
console.log(err);
} else {
console.log("Saved!");
}
});
});
エラーですTerminal
中:
(node:14312) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead, or set the `useMongoClient` option if using `connect()` or `createConnection()`. See http://mongoosejs.com/docs/connections.html#use-mongo-client
{ _id: 595fe7c14a9810330c75aacc,
password: '297d5907-d9d7-49ef-800c-97a56aa395f7',
email: '[email protected]',
__v: 0,
todos: [] }
私は私のオリジナルのポストで私のコードを編集しました。私は誤ってWebサイトを参照して、いくつかの新しいコードを追加しましたが、私はまだそれが動作していないので、私は右のそれを使用していないと思います。 –