私はmongoにかなり慣れていないことに注意してください。さらに、ノード/ jsの使用に非常に慣れていません。
コレクション内の新しいドキュメントを挿入するか、既存のドキュメントを更新するクエリを作成しようとしています。
コレクションの提案された構造は次のとおりです。
{ _id: xxxxxxx, ip: "xxx.xxx.xxx.xxx:xxxxxx", date: "xx-xx-xx xxxx" }
私の意図は、内部 ObjectId ではなく _id の固定長 int を格納することであることに注意してください (これは可能/考えられる悪い習慣ですか?)。int は一意であることが保証され、別のソースから取得されます。
var monk = require('monk');
var db = monk('localhost:27017/cgo_schedule');
var insertDocuments = function(db, match) {
var db = db;
var collection = db.get('cgo_schedule');
collection.findAndModify(
{
"query": { "_id": match.matchId },
"update": { "$set": {
"ip": match.ip,
"date": match.date
},
"$setOnInsert": {
"_id": match.matchId,
}},
"options": { "new": true, "upsert": true }
},
function(err,doc) {
if (err) throw err;
console.log( doc );
}
);
}
ただし、これはまったく機能しません。データベースには何も挿入されませんが、エラーも発生しないため、何が間違っているのかわかりません。
出力 ( のconsole.log (doc)
) はヌルです。
私は何を間違っていますか?