[MONGODB] Node.js를 _id 노드 MongoDB를 네이티브로 문서를 선택하여 MongoDB
MONGODBNode.js를 _id 노드 MongoDB를 네이티브로 문서를 선택하여 MongoDB
나는 ID로 문서를 선택하려고 해요
난 노력 했어:
collection.update({ "_id": { "$oid": + theidID } }
collection.update({ "_id": theidID }
collection.update({ "_id.$oid": theidID }}
또한 시도 :
collection.update({ _id: new ObjectID(theidID ) }
이것은 나에게 오류 500을 제공합니다 ...
var mongo = require('mongodb')
var BSON = mongo.BSONPure;
var o_id = new BSON.ObjectID(theidID );
collection.update({ _id: o_id }
이 작품의 없음. 어떻게 _id에 의해 선택?
해결법
-
==============================
1.
var mongo = require('mongodb'); var o_id = new mongo.ObjectID(theidID); collection.update({'_id': o_id});
-
==============================
2.나를 위해 일한이 접근.
나를 위해 일한이 접근.
var ObjectId = require('mongodb').ObjectID; var get_by_id = function(id, callback) { console.log("find by: "+ id); get_collection(function(collection) { collection.findOne({"_id": new ObjectId(id)}, function(err, doc) { callback(doc); }); }); }
-
==============================
3.지금 당신은이를 사용할 수 있습니다 :
지금 당신은이를 사용할 수 있습니다 :
var ObjectID = require('mongodb').ObjectID; var o_id = new ObjectID("yourObjectIdString"); .... collection.update({'_id': o_id});
현재 문서를 볼 수 있습니다
-
==============================
4.native_parser로 : 거짓 :
native_parser로 : 거짓 :
var BSON = require('mongodb').BSONPure; var o_id = BSON.ObjectID.createFromHexString(theidID);
native_parser으로 : 사실 :
var BSON = require('mongodb').BSONNative; var o_id = BSON.ObjectID.createFromHexString(theidID);
-
==============================
5.난 그냥 컨트롤러 파일에서 Node.js를 응용 프로그램에서이 코드를 사용하고, 그것을 작동합니다 :
난 그냥 컨트롤러 파일에서 Node.js를 응용 프로그램에서이 코드를 사용하고, 그것을 작동합니다 :
var ObjectId = require('mongodb').ObjectId; ... User.findOne({_id:ObjectId("5abf2eaa1068113f1e")}) .exec(function(err,data){ // do stuff })
전에 "MongoDB를"를 설치하는 것을 잊지, 당신은 "프리 세이브"와 bcrypt로 암호의 암호화를 사용하는 경우, 당신이 것을하지 말라하지 암호화 비밀번호 DB에서 레코드의 각 수정 후.
-
==============================
6.대답은 당신이 ID로 전달하는 변수의 유형에 따라 달라집니다. 나는 쿼리를 수행하고 ._id 속성으로 내 ACCOUNT_ID를 저장하여 개체 ID를 당겼다. 당신은 단순히 몽고 ID를 사용하여 쿼리이 방법을 사용.
대답은 당신이 ID로 전달하는 변수의 유형에 따라 달라집니다. 나는 쿼리를 수행하고 ._id 속성으로 내 ACCOUNT_ID를 저장하여 개체 ID를 당겼다. 당신은 단순히 몽고 ID를 사용하여 쿼리이 방법을 사용.
// begin account-manager.js var MongoDB = require('mongodb').Db; var dbPort = 27017; var dbHost = '127.0.0.1'; var dbName = 'sample_db'; db = new MongoDB(dbName, new Server(dbHost, dbPort, {auto_reconnect: true}), {w: 1}); var accounts = db.collection('accounts'); exports.getAccountById = function(id, callback) { accounts.findOne({_id: id}, function(e, res) { if (e) { callback(e) } else { callback(null, res) } }); } // end account-manager.js // my test file var AM = require('../app/server/modules/account-manager'); it("should find an account by id", function(done) { AM.getAllRecords(function(error, allRecords){ console.log(error,'error') if(error === null) { console.log(allRecords[0]._id) // console.log('error is null',"record one id", allRecords[0]._id) AM.getAccountById( allRecords[0]._id, function(e,response){ console.log(response,"response") if(response) { console.log("testing " + allRecords[0].name + " is equal to " + response.name) expect(response.name).toEqual(allRecords[0].name); done(); } } ) } })
});
-
==============================
7.이것은 나를 위해 일한 것입니다. MongoDB를 사용
이것은 나를 위해 일한 것입니다. MongoDB를 사용
CONST MongoDB를 =는 ( 'MongoDB를')를 필요
그럼 난 내 특급 GET 호출을 수행하고 맨 아래에.
router.get('/users/:id', (req, res) => { const id = req.params.id; var o_id = new mongoDB.ObjectID(id); const usersCollection = database.collection('users'); usersCollection.findOne({ _id: o_id }) .then(userFound => { if (!userFound){ return res.status(404).end(); } // console.log(json(userFound)); return res.status(200).json(userFound) }) .catch(err => console.log(err)); });`
-
==============================
8.
/* get id */ const id = request.params.id; // string "5d88733be8e32529c8b21f11" /* set object id */ const ObjectId = require('mongodb').ObjectID; /* filter */ collection.update({ "_id": ObjectId(id) } )
from https://stackoverflow.com/questions/4902569/node-js-mongodb-select-document-by-id-node-mongodb-native by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 어떻게 몽구스과 ObjectId가를 생성 할 수 있습니까? (0) | 2019.12.21 |
---|---|
[MONGODB] 몽구스 '정적'방법 대 '예'방법 (0) | 2019.12.21 |
[MONGODB] ObjectId가 MongoDB의 작성시에 사용 (0) | 2019.12.21 |
[MONGODB] MongoDB의 ID와 타임 스탬프를 얻기 (0) | 2019.12.21 |
[MONGODB] 이유는 MongoDB를 시작할 수 없습니다 (0) | 2019.12.21 |