gpt4 book ai didi

node.js - 使用 NodeJs 将文档插入 Mongodb 返回文档,但它不在集合中

转载 作者:太空宇宙 更新时间:2023-11-03 22:36:59 26 4
gpt4 key购买 nike

我有一个奇怪的问题,我有一个测试来证明如果存在具有相同名称/电子邮件的用户,则无法创建新用户,但它似乎总是失败。但是,当我查看将用户添加到数据库并包含预期详细信息的第一步时,它会插入文档并回调:

[ { Username: 'AccountUser',
Email: 'some@email.com',
CreatedDate: Mon Sep 22 2014 12:52:48 GMT+0100 (GMT Summer Time),
_id: 54200d90d0a34ffc1565df13 } ]

因此,如果我对从 insert 返回的文档进行 console.log,这就是我得到的结果,并且 _id 已由 mongo 设置,这是正确的,所以我知道调用成功,并且没有错误。

但是,如果我然后去查看数据库(MongoVUE),该集合是空的,所以我对为什么会发生这种情况感到有点困惑。

我正在使用池化的 mongodb 连接(即在应用程序设置期间进行设置,然后使用 app.set("database_connection", database);。所以我有点困惑为什么会发生这种情况?

这里是一些示例代码,它是较大代码的一部分,但基本上包含在 Promise 中:

// Point of connection creation
var mongoClient = mongodb.MongoClient;
var connectionCallback = function (err, database) {
if (err) { reject(err); }
resolve(database);
};

try
{ mongoClient.connect(connectionString, connectionCallback); }
catch(exception)
{ reject(exception); }

// Point of usage
var usersCollection = connection.collection("users");
usersCollection.insert(userDocument, function(err, docs) {
if(err) {
reject(err);
return;
}

console.log(docs);
resolve(docs[0]);
});

因此,我创建连接并传回数据库以供其他地方使用,然后在插入时获取连接,获取集合,然后插入其中,并记录添加的文档,这就是上面的内容日志输出。

终于运行了:

  • Windows 8.1
  • Node 0.11.13
  • npm mongodb 最新
  • MongoDB 2.6.1

最佳答案

这不是我想要的答案,但我重新启动了计算机(很少发生),问题不再出现。我不知道是什么原因造成的,我仍然有点担心它是否会再次发生,但现在我又开始运行了。

关于node.js - 使用 NodeJs 将文档插入 Mongodb 返回文档,但它不在集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25973685/

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