[英]How to find data of nearest location from mongodb collection using mongoose?
[英]Can not find data from collection in mongodb
我正在尝试在node.js中练习mongodb。 我已成功连接数据库,已插入数据库,但无法从数据库获取数据。 这是我的代码:
var mongo = require("mongodb");
var host = '127.0.0.1';
var port = 1337;
var db = new mongo.Db('nodejs-introduction', new mongo.Server(host, port, {}));
db.open(function(error, dbClient) {
console.log('We are connected');
});
var collection = db.collection('user');
collection.insert({
id: "1",
name: "Musa",
twitter: "puzzlemusa",
email: "puzzlemusa@gmail.com"
}, function(error) {
console.log('Successfully inserted Musa');
});
collection.find({id: "1"}, function(err, cursor) {
cursor.toArray(function(err, users){
console.log("Found the following records", users);
});
});
您遇到了Node.js异步特性的问题。 如果运行此命令,则collection.find可能会在collection.insert之前完成。 试试这个吧。
var mongo = require("mongodb");
var host = '127.0.0.1';
var port = 1337;
var db = new mongo.Db('nodejs-introduction', new mongo.Server(host, port, {}));
db.open(function(error, dbClient) {
console.log('We are connected');
});
var collection = db.collection('user');
collection.insert({
id: "1",
name: "Musa",
twitter: "puzzlemusa",
email: "puzzlemusa@gmail.com"
}, function(error) {
console.log('Successfully inserted Musa');
collection.find({id: "1"}, function(err, cursor) {
cursor.toArray(function(err, users){
console.log("Found the following records", users);
});
});
});
通过将查找内容放入插入的回调中,可以确保在插入实际完成之前查找不会运行。
尝试这个
var mongo = require("mongodb");
var host = '127.0.0.1';
var port = '27017'; // this is my port, change to 1337
var db = new mongo.Db('nodejs-introduction', new mongo.Server(host, port));
db.open(function(err, db) {
if (err) {
return console.log(err);
}
var collection = db.collection('user');
insert(collection);
// find(collection);
});
function insert(collection) {
collection.insert({
id: "1",
name: "Musa",
twitter: "puzzlemusa",
email: "puzzlemusa@gmail.com"
}, function (error) {
if (error) {
return console.log(error);
}
console.log('Successfully inserted Musa');
find(collection);
});
}
function find(collection) {
collection.find({id: '1'}).toArray(function(err, users) {
console.log(users);
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.