そのため、ノードを使用して mongodb コレクションにデータを入力しようとしています。私が知る限り、コレクションにアクセスできます。
var collection = db.collection("whatsGoingOnEvents");
if(collection){
console.log("hitting stream");
var stream = collection.find({time: parsedObject.time, endTime: parsedObject.endTime, lon:parsedObject.lon,lat:parsedObject.lat}).stream();
console.log(stream);
stream.on("data",function(data){
console.log("data");
console.log(data);
if(!data){
collection.insert(parsedObject);
console.log("hitting insert");
}
});
stream.on("end",function(){
//dosomething
});
}
parsedObject には、これらのフィールドがすべて含まれている場合と含まれていない場合があります。これは重要ですか? フィールドが存在しない場合、 collection.find() は「未定義」の時間を探しているだけで、技術的にはまだ値であると思いました。
打つconsole.log("data")
ことはないので書類を入れることはありません。私はこのリンクをたどろうとしています。
そのため、挿入が行われない理由がわかりません。何も追加されていないことはわかってfrom db.collection.stats();
います。これは、コレクションのサイズが 0 であることを示しています。
ああ、これは私が Mongo に接続するために使用しているものです-
var mongo = require('mongodb').MongoClient;
編集 -
以下の回答を試してみました-その結果、このエラーが発生しました-
lib/mongodb/connection/server.js:481
throw err;
^
Error: Cannot use a writeConcern without a provided callback
at insertAll (/Users/psanker/Google Drive/Coding/Javascript/WhatsGoingOn/node_modules/mongodb/lib/mongodb/collection.js:332:11)
at Collection.insert (/Users/psanker/Google Drive/Coding/Javascript/WhatsGoingOn/node_modules/mongodb/lib/mongodb/collection.js:91:3)
^挿入にコールバックを追加していないため、上記が発生しました。