MongoDB를 Dog.find() Dog.create() 전에 실행되기 전에 실행MongoDB를 Dog.find은() Dog.create()
난 그냥으로 이해할 수없는 몇 가지 문제가 왜 그런 일이 일어나는가? 방금 온라인 튜토리얼로 mongodb를 배우기 시작했습니다. 클라우드에서 코드를 연습합니다 .9. find() 및 create()와 같은 기본 쿼리를 연습하고있었습니다. 먼저 이름 매개 변수가있는 새 도그를 추가하여 Dog.create() 메서드를 먼저 추가하고이어서 create() 메서드 아래에 Dog.find()를 추가하여 db에있는 모든 데이터를 찾습니다.
하지만 문제는 Dog.find()가 먼저 실행되고 Dog.create가 마지막으로 실행된다는 것입니다.
아래 코드를 게시했습니다.
var mongoose= require("mongoose");
mongoose.connect("mongodb://localhost/dog_app");
var dogSchema = new mongoose.Schema({
name:String
});
var Dog = mongoose.model("Dog", dogSchema);
Dog.create({
name:"duppy"
}, function(err, dog){
if(err){
console.log(err);
}else{
console.log("created a new dog");
console.log(dog);
}
});
Dog.find({}, function(err , dogs){
if(err){
console.log(err);
} else{
console.log("retrived from database");
console.log(dogs);
}
});
는 먼저 찾기 방법은 실행 결과를 볼 수 있습니다
adi188288:~/workspace/IntroToNode/Databases $ node dogs.js
(node:7113) 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
retrived from database
[ { _id: 59bd6256bffba3198bce7e87, name: 'Puppy', __v: 0 } ]
created a new dog
{ __v: 0, name: 'Puppy2', _id: 59bd6932a2d4c81bc9488b74 }
결과 다음 사람이 나에게 이것을 설명 occurs.Can 방법을 만들?
몽구스 메서드는 약속을 반환하고 콜백 대신 약속을 사용합니다. – alexmac
고맙습니다. @Farid Nouri Neshat. 반드시 몽구스 @ alexmac에서 결제 방법을 약속합니다. 감사합니다. –