gpt4 book ai didi

mongodb - 通过 Node.js 插入 MongoDB

转载 作者:IT老高 更新时间:2023-10-28 13:30:46 24 4
gpt4 key购买 nike

我是 Node.js 和 MongoDB 的新手,但我打算创建一个非常基本的基于实时地理位置的 Web 应用程序。这是我试图弄清楚 Node 和 MongoDB 如何交互的尝试:

var mongo = require('mongodb');

var db = new mongo.Db('test', new mongo.Server('localhost',22892, {}), {});

db.open(function(){});

db.collection('docs', function(err,collection){
doc = {"foo":"bar"};
collection.insert(doc, function(){});
});

我可以看到这是连接:

Thu Apr 14 15:24:12 [initandlisten] connection accepted from 127.0.0.1:46968 #26
Thu Apr 14 15:24:12 [conn26] building new index on { _id: 1 } for test.docs
Thu Apr 14 15:24:12 [conn26] done for 0 records 0secs

但它没有向数据库中插入任何文档。谁能告诉我我做错了什么?

谢谢

最佳答案

db.open(function(err, client){
client.createCollection("docs", function(err, col) {
client.collection("docs", function(err, col) {
for (var i = 0; i < 100; i++) {
col.insert({c:i}, function() {});
}
});
});
});

您忘记在 open 回调中执行所有操作。这很重要,否则您的代码会在您打开与数据库的连接之前运行。您必须异步执行所有操作。如果集合不存在,最好也创建它。

查看 github page 中的大量示例

现在这看起来像回调意大利面条,所以我们使用流控制如 Step让它漂亮。

Step(
function() {
db.open(this);
},
function(err, client) {
client.createCollection("docs", this);
},
function(err, col) {
for (var i = 0; i < 100; i++) {
col.insert({c:i});
}
}
);

关于mongodb - 通过 Node.js 插入 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5669321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com