如何使用查询在firestore中保存geopoint

时间:2017-11-03 09:22:05

标签: javascript firebase google-cloud-firestore

我试图在Firestore集合中保存geopoint,但它会抛出错误。这是我的代码。

var post = req.body;    
let data = {
    name: !cmnFn.empty(post.name) ? post.name : '',
    user_location: (new admin.firestore.GeoPoint(28.52038,77.28073)),
    created_at: d.getTime()
}
// Saving data
db.collection('users').doc(post.uid).set(data);

我收到的错误

  

错误:无法将类型([对象对象])编码为Firestore值

1 个答案:

答案 0 :(得分:1)

现在我可以保存地理位置了。请参阅完整代码以实现此目的。

const admin = require("firebase-admin");
const serviceAccount = require(process.env.FBASE_AUTH_FILE);
admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "https://<PROJECT_ID>.firebaseio.com"
});
const Firestore = admin.firestore;
const db = Firestore();
let d = new Date();
let data = {                
    name: 'Amit',
    location: new admin.firestore.GeoPoint(28.52038,77.28073),
    created_at: d.getTime()
}
setDoc = db.collection('users').doc().set(data);
if (setDoc) {
    console.log('user added');
}