Estou tentando selecionar um documento por id
Eu tentei:
collection.update({ "_id": { "$oid": + theidID } }
collection.update({ "_id": theidID }
collection.update({ "_id.$oid": theidID }}
Também tentei:
collection.update({ _id: new ObjectID(theidID ) }
Isso me dá um erro 500 ...
var mongo = require('mongodb')
var BSON = mongo.BSONPure;
var o_id = new BSON.ObjectID(theidID );
collection.update({ _id: o_id }
Nenhum desses funciona. Como selecionar por _id?
javascript
mongodb
node.js
Marca
fonte
fonte
collection.find({"_id": ObjectId(theidID)})
Deveria trabalhar.Respostas:
fonte
native_parser:false
- verifique a resposta de Raphael abaixoObjectID()
onrequire('mongodb')
e não sobrerequire('mongodb').MongoClient
mongoClient.ObjectID is not a constructor
erro.Essa é a abordagem que funcionou para mim.
fonte
agora você pode apenas usar isto:
Você pode ver a documentação aqui
fonte
Com
native_parser:false
:Com
native_parser:true
:fonte
Acabei de usar este código no aplicativo Node.js no arquivo do controlador e funciona:
não se esqueça de instalar o "mongodb" antes, e se você estiver usando criptografia de suas senhas com bcrypt com "presave", certifique-se de não criptografar a senha após cada modificação do registro no DB.
fonte
fonte
A resposta depende do tipo de variável que você está passando como id. Eu puxei um id de objeto fazendo uma consulta e armazenando meu account_id como o atributo ._id. Usando este método, você simplesmente consulta usando a id do mongo.
});
fonte
Isto é o que funcionou para mim. Usando mongoDB
const mongoDB = require('mongodb')
Então, na parte inferior, onde estou fazendo minha ligação expressa.
fonte
Se você usa Mongosee, pode simplificar a função
FindById:
isso substitui no mongodb:
"_id" : ObjectId("xyadsdd434434343"),
https://mongoosejs.com/docs/api.html#model_Model.findById
fonte